I am exploring into the possibility of creating a bundled app out of TWO of my apps (app1.ipa & app2.ipa). Is it possible to create a shell app (bundle.ipa) which would load app1 or app2 using their respective ipa’s (app1.ipa or app2.ipa) based on user selection? Or Do I have to merge the source codes and assets on both apps to create a bundled app? Basically, is it possible to load an ipa with-in an ipa?
No. It's not possible to create apps with more then one binary.
Instead of trying to have more than one .ipa - which I'm pretty sure isn't possible - creating a class by which the app can introspect whether or not the person has paid for the app. So if they have, the feature is available, and if not... its not available.
Use Facebook's SDK integration as a reference of how this works: before an app can retrieve items from the user's Facebook, the app must make sure that the user has signed in with Facebook.
I wish I knew of a more precise example, but honestly, this should give you the gist of it all.
Related
I have an app on the App Store and I have to create another app. This other app has some of the same functionalities as the first app. So I wanted to create a framework to put the common code in and use it inside the apps. Unfortunately, this framework has to change to add more features and improvements.
I saw that dynamic libraries can update the library code without any change to an app already pushed to the App Store. But this is reserved for Apple. Also, since iOS 8, we can create a dynamic framework which includes dynamic libraries. So is it possible to have the same, meaning if I update my dynamic framework, it also updates the app without having to push to the App Store again and face app review process?
If not, do you have some clues/recommendation to achieve that?
Dynamic Framework is a bit different from the understanding you have. Please read apple documents in more detail for that.
Currently only way to achieve what you expect is to push code on App Store as hidden, and based on some server API configuration update your content accordingly (Firebase Remote Config is one such good example if security is not that big a concern)
I am trying to build an app that will allow users to see all pdf files that are on the device (in some kind of a list with a preview) [Regardless of which app it belongs to on the device, all should be shown]. Is there anyway to achieve this?
Sorry but this is not possible on an iOS device because of a feature called sandboxing. Apple does not allow an app to access the sandbox of another app. Each app sits inside a sandbox of its own. This is iOS's security feature. There is no way to go around this feature.
Reference - About App Sandbox
I have developed one iOS app but I have about 10-13 clients whom I will be selling this app. So, the app is one and I will just change the name on all apps and publish it from same account. Is it allowed by Apple? The source code will be same and the name will be different on apps. The app is built to sale copies to client so it is allowed?
It is possible, but Apple won't be happy about it, the proposed way to do this is to license your apps to the clients instead of placing them on the public app store.
Source: https://forums.developer.apple.com/thread/7825
Apple does allow one App with different names for different languages.
https://developer.apple.com/internationalization/
So you might use a little trick, where you only "translate" the name of the app and leave everything else as it is.
Yes you can submit the same app with different name.
You just need to create the different targets of the same app. Bundle identifier will be different but the source code will be same.
Here is the link for guiding of target creation-
Multiple target creation
I want to upload two build of same app with little UI changes on app store with different account. Can I upload the builds?
I have an app with multiple client so I want to upload builds for each client with their own account. I have modified the UI for each clients.
Yes, you can. What I do in similar situations is that I use one project for that (as you already have). And then I crate a copy of a target, so that I can customise it (custom logo, custom icon, ...).
To apply customisation in code I take advantage of "Custom Build Configurations". Here on SO I've described how I do this (as of writing it's the third answer to the question) custom Build Configurations
Sure you can, just make sure that the bundle identifier is different.
No issues in doing that. Just take care of the following things which must be different:
Logo
Bundle Identifier (as suggested by Fabio)
package ids of in app purchase items, if any
App preview images/videos
If you are using iAds for showing ads in your app, make sure you do not use the same provider account.
Is it possible? It looks like if two apps (or variants of the same app) use the same bundle identifier, they will both have access to the same data files -- is that correct?
I'm looking for the simplest way for the user to upgrade to the full version while preserving the data from the lite version.
Yes, if multiple apps use the same bundle identifier, they will be recognized as the same app - but you can't have multiple apps with the same identifier in the App Store or on the device!
There is currently no way to share files between different Apps (with unique bundle identifiers) via the local file system. You can pass some data with custom URL schemes from one running app to another, but I think that's not what you're looking for.
Apple's suggested way of dealing with this situation is to have just one app, and implement In-App purchases to upgrade to the full version.
Here's a very similar SO question: Share data between two or more iPhone applications
If you create multiple targets, you can create a lite and full version accessing the same data. Using #ifdef you can limit access based on settings!
Here's a link: How to build both Lite and Full version of iPhone app based on one xcode project?
Hope this helped!