Embed Adobe Air/Flex application inside a standard iOS application - ios

I have a native (Obj-C, standard Xcode project) application and I'd like to integrate a partners iOS application (or specifically, it's functionality) into it as just another view in my application. The problem is that their application is a Flex/Air app. I really don't understand the Adobe compilation process on how it gets from a bunch of flex code down to an IPA. I don't see intermediate projects, shared objects, etc on the disk to produce that IPA. It looks like it doesn't rely on the Apple tool chain... as I understand it, you can produce the IPA on Windows as well.
Is there any way to build that Flex app in such a way that I can import it into Xcode so I can link against it and use it as a library from within my application?
While I specifically used iOS as an example since that is the most important platform, we'll want to apply this solution to our respective Android and Blackberry 6 apps as well.

No, you cannot embed an application within another application. This is true for all applications. Only thing you could do is get the swf of your partner's code and embed that into an Air application, but since you're not using Actionscript/Flex, it won't be possible.
Only other way would be to have an app link to the other application.

Related

dart/flutter: How to ship iOS apps using flutter frontend vs. C/C++ backend to App Store?

Goal
I'm building an iOS app using flutter for frontend, and C/C++ as backend. They must interoperate through FFI, which is a language binding scheme through C dynamic libraries. I intend to submit it to iOS App Store.
Problems
The Dart FFI sample on accessing C-struct works on macOS through dynamic liking and binding. Now dynamic linking is technically possible on iOS according to Xcode 9 - No option to create dylib project iOS, however, it's unclear to me how to ship the app to AppStore, because dynamic linking is not allowed according to Apple Guidelines Section 2.5.2.
2.5.2 Apps should be self-contained in their bundles, and may not read or write data outside the designated container area, nor may they
download, install, or execute code which introduces or changes
features or functionality of the app, including other apps.
Educational apps designed to teach, develop, or allow students to test
executable code may, in limited circumstances, download code provided
that such code is not used for other purposes. Such apps must make the
source code provided by the Application completely viewable and
editable by the user.
Quite a few SO questions confirm this problem, such as:
can I use dynamic library(shared object) in my iphone app?
Will Appstore reviewers allow us to use dynamic library in iOS8?
Then official flutter documentation says
Dynamically linked libraries are automatically loaded by the dynamic
linker when the app starts. Their constituent symbols can be resolved
using DynamicLibrary.process. You can also get a handle to the library
with DynamicLibrary.open to restrict the scope of symbol resolution,
but it’s unclear how Apple’s review process handles this.
Questions
As of the date when I post this (2020), does this say that I could never ship an app using this architecture to App Store?
Is it possible that I static link my C/C++ code into a single binary of a flutter app? Take Unity as an example, their iOS plugin system recompiles the plugin into native app. If flutter has a similar mechanism, how?
The answers saying you can't use dynamic libraries on iOS date to before iOS 8, when support for user-provided dynamic libraries was added.
Nothing in 2.5.2 days you can't use dynamic libraires as long as they are shipped as part of your app. So:
As of the date when I post this (2020), does this say that I could never ship an app using this architecture to App Store?
No it doesn't, as long as "this architecture" refers to using a dynamic library that you link to at build time and bundle into your application.
Adding inputs from Reddit's FlutterDev channel
#escamoteur
As I understand it you are not allowed to load any library from
outside your installation folder. Especially not downloading something
at a later point of time. Could you make this a Stackoverflow question
and tag it with Flutter?
#airflow_matt
Since iOS 8 there can be shared libraries in the bundle, when properly
codesigned I don't see why dlopen wouldn't work. Or you can link the
library with main executable itself (just like flutter does) and
dlopen self (DynamicLibrary.process()). I think it's worth a shot.

Accessing an Application from a Web Browser for Android and iOS

First and foremost, I am not the developer behind this application, however I am looking for a solution to this problem as I work at the company that runs the application and I've been tasked to do so. This is not a focused code-line question, but more so an application question.
Background: The application is an educational tool that simulates a physical science laboratory that is programmed using Flash. It is accessed from a Learning Management System (LMS) web browser - i.e. Blackboard, Canvas, etc. - through a link to the object. There are multiple simulated labs that are each their own object.
The main problem: The simulators/labs are able to be accessed on an Android device (phones & tablets) by prompting a download of a .apk file once the link is clicked on that device where they will have a menu that localizes all the simulators. This is to centralize all the simulators into one menu app. Now, when you attempt this process on an iOS device, it's obviously incompatible (.apk vs .ipa). We can create a runnable .ipa file for each individual simulator, but this is not efficient at all when attempting to execute on a mass scale (think district-wide access).
What I want to find out is the most efficient way to adapt the application for iOS since it utilizes Flash. The same process would be desired (click the link and it prompts a download of the menu app that holds the sims/labs).
Thanks in advance.
You need to enrol for apple developer program to distribute builds. Normal subscription consider distribution thought App Store, and it seems not your case. There is Enterprise subscription - it allows to create .ipa, that can be installed on any device, but distributed locally (Ad-Hoc). While assembling Ad-Hoc build in latest Xcode you can select opportunity to create distribution manifest as well (Xcode will provide description how to use it). Then you can upload manifest and iPad file to you file server, and share link to manifest with you user. Opening manifest on iDevice will launch installation of application.

How to decrease iOS app size xcode 7.3

i have developed an iOS app and i'm using many 3rd party libraries suck as Google, Facebook, VLC ect, when i generate IPA i'm getting 92,5MB and when i upload it to appStore i get 200MB.
Is there a way to decrease it to arround 60MB ?
Make sure you have all optimisation switched on in Build Settings.
And yes, sometimes its easier to check library code on GitHub (if it open sourced) and implement necessary logic manually, that include whole library in the project. Swift projects quite bulky, need to keep all runtime libraries inside the app

Is it possible to create a IOS app that can download plugins and extension later?

we have a ios app that provides the platform for many similar games. When you install this app. This app already contains binaries of x number of games.
Now we are having size issue. So just wanted to know is it possible to create a ios app that can get installed and after that as per user selection can download the games binaries separately and then run. Like a app that can download games as plugins or extensions.
I work on game side part so i dont know anything about ios apps. but so far my understanding is -> when you create the ios executable then while compiling you should have all the code present (app + all the games it will run).
It is not possible to download a native executable and run it -- that is not a capability provided by app extensions.
One loophole you might consider: it is perfectly permissible to download and run javascript, or anything else that runs in a UIWebView or WKWebView, which are both sandboxed from your iOS App's process, and have access to OpenGLES 2.0 in the form of WebGL. There are also apps which have been accepted in the App Store which can run code in interpreted languages like Python.

Porting native apps to Phonegap?

I have a native app for iOS and am being tasked to create a new app that includes portions/sections of that original native app within this new project. The caveat being that the app I am now tasked to develop must be done with Phonegap/Cordova.
My question is, what options do I have for utilizing the native code within the Phonegap project, or does the same functionality all need to be rewritten in HTML5/JS? I'm new to Phonegap so I don't fully know it's capabilities.
Generally phonegap apps are coded in javascript, css, html and where ever they need access to the native layer, they use phonegap plugins to access the native functionality. If you want use your existing code for integration into a phonegap app, you can do it by wrapping your code using phonegap plugin architecture and create plugins for the functionality from the code that you wish to reuse. Then you call those plugins where ever required in your application.
The below link is good starting point for creating plugins.
http://docs.phonegap.com/en/3.4.0/guide_hybrid_plugins_index.md.html#Plugin%20Development%20Guide

Resources