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!
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'm currently making two iOS apps(technically, a library for two apps) that uses the AppGroups that shares UserDefaults data between the apps using the same App Group ID.
The problem is I don't know how to get the bundleIDs of the apps in the AppGroups.
Background:I want to know whether the app is uninstalled or not, so decided to check the bundleIDs lists(if exists)that uses AppGroups, but haven't come across any solution after a couple of days.
Notes: I am currently building a library that controls all the appgroup information, so it would be better to have a solution without the need to configure sth in the info.plist file.
Both Objective-C and Swift solutions are fine.I'd appreciate your help. Thank you.
I am not sure about checking the bundle IDs but if you want to check if another app is installed you can follow this link
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 am working on a app which needs to open/preview a file using UIDocumentInteractionController. One of the clients requirement is that, in case there is no installed app which can support a given file type, then the app should redirect the user to the App Store, displaying a list of apps which can open the file.
Is that possible? If yes, could you give me a step-by-step approach ?
The app store does not have any list of apps can open a given file type.
You will have to build the list yourself.
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.