My app is on the App Store. Now I would like to publish a "lite" version of my app. Its name could be something like "MyApp lite", it has only a reduced set of features.
I think it would be accepted on the reviewal process because it is not unusual that two similar apps are in the App Stores, one having just the main features and the other being complete.
Let's say they are identified by
com.myappdomain.app
and
com.myappdomain.app.lite
1-Is it possible to publish such a "lite" app along the main one (different pricing or business model)?
2-Can its name be like "MyApp lite" (or similar wording)?
3-Can they have the same app icon?
4-Can they be installed at the same time on a device?
5-The two apps are compatible with a special data type, importing, exporting, and launching with files with a special registered file extension.
This is from the info.plist
<key>CFBundleDocumentTypes</key>
...
<key>CFBundleTypeName</key>
<string>com.myappdomain.mydatatype</string>
<key>NSUbiquitousDocumentUserActivityType</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER).mydatatype</string>
...
<key>UTExportedTypeDeclarations</key>
...
<key>UTImportedTypeDeclarations</key>
...
<key>CFBundleDocumentTypes</key>
...
<key>CFBundleTypeName</key>
<string>com.myappdomain.mydatatype</string>
<key>NSUbiquitousDocumentUserActivityType</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER).mydatatype</string>
...
I changed the bundle identifier in certain places for the new project (the original code, stripped of many features) but I see that there is also $(PRODUCT_BUNDLE_IDENTIFIER).mydatatype for NSUbiquitousDocumentUserActivityType that changes for the two apps, while the other plist settings are the same.
Is it right? Should the two apps have the same NSUbiquitousDocumentUserActivityType value instead?
Thanks in advance
What happens when the two apps are installed at the same time and the file with registered extension is chosen on the system?
That depends on the context. On iOS [1], some contexts display a list of apps to open a doc and some contexts default to a single app. In the former case both of your apps should show up in the list. In the latter case, one of them will end up as the default.
This assumes the two apps have the same values in in their CFBundleDocumentTypes
entry. There are various properties, most notably CFBundleTypeRole
, that are designed to let you tweak the priority. Honestly, I don’t know how effective they are on iOS [2].
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
[1] macOS gives the user more control over this stuff (-:
[2] Again, this stuff originated on macOS, which is set up to exploit its full capabilities.