Publishing my app "lite" version along the main one - some questions

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

Answered by DTS Engineer in 702434022

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.

There’s two parts to this:

  • The technical stuff about bundle IDs.

  • The business stuff related to the App Store.

I can only address the technical stuff.

Let's say they are identified by com.myappdomain.app and com.myappdomain.app.lite

I’d recommend com.myappdomain.app-lite. There isn’t a hard’n’fast rule here, but the general idea is that the bundle ID components form a hierarchy, so com.myappdomain.app.lite would be a ‘child’ of com.myappdomain.app, which isn’t what you want here.

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?

There are no technical restrictions for the above; these are purely business questions.

4-Can they be installed at the same time on a device?

Yes. iOS tracks app installations via the bundle ID. If two apps have different bundle IDs, they are considered to be different apps.

5. The two apps are compatible with a special data type, importing, exporting, and launching with files with a special registered file extension.

There’s no question here, but I presume what will happen in that case. The short answer here is nothing catastrophic, but also nothing good. You should encourage your users to install one or the other.

Should the two apps have the same NSUbiquitousDocumentUserActivityType value instead?

That depends on whether you want an activity in one to resume in the other. In most cases that’s probably not what you want, in which case embedding the bundle ID to in the activity type is the right choice.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

I have apps with 2 different versions (normal and Pro), different price, with different features (one version has a Watch companion). Same name, one with the Pro extension.

They have different icons : same drawing but different background colour for the drawing. I think it is important to have a visual difference.

They can be installed simultaneously on the same device.

I just explained in detail the situation in the comments to reviewer each time I publish a new release of any of the 2, and it goes well.

@eskimo

Thank you so much for your answer.

1- I have to say that the ID would not be really like

com.myappdomain.app.lite

but more like

com.myappdomain.app.reader

so it is as the "lite" project is a child of the main one. The child app is not just the lite version but it has a nuance of meaning to it, and I consider it like derived from the main project.

What do you think?

(However I'd prefer com.myappdomain.applite to your com.myappdomain.app-lite, also because of the motivation above)

2- What happens when the two apps are installed at the same time and the file with registered extension is chosen on the system? Do they appear both in a list for the user to select one? Or is it unpredictable?

Thanks in advance

Accepted Answer

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.

Publishing my app "lite" version along the main one - some questions
 
 
Q