1

I have a public App Store app and I would like to make a version of it to be distributed as a "Custom App" that's only available in the Apple Business Manager and School Manager. This version will have a couple of different features that the public App Store app can not have.

Some features need to still be shared between the two apps so I would like to code for both apps and just change the distribution path.

I understand in Xcode our apps are identified with their Bundle Identifier, so would changing the Bundle Identifier every time I send an archive to App Store Connect allow me to choose where the app goes? Either the public App Store version or the Custom App version.

Or is there a better way to do this? I have been searching all over the internet for a week and can not find anything. Please help if you can.

fphelp
  • 1,544
  • 1
  • 15
  • 34
  • 1
    The bundle id is the thing that identifies the app. You can create an additional target in your project, with the new bundle ID and add the relevant source files to both targets. You can then choose which target to build – Paulw11 Dec 20 '20 at 22:20
  • @Paulw11 thank you for the quick response! Just to be clear, in my existing public app's Xcode project I make a new iOS App Target by going to "File" -> "New" -> "Target..."->"iOS"->"App" and give it another bundle ID. Once I have this new target I can go to App Store Connect and make a new App that's attached to new bundle ID? – fphelp Dec 20 '20 at 23:19
  • 1
    Yes, that is correct – Paulw11 Dec 21 '20 at 01:36
  • Perfect! Will try it! – fphelp Dec 21 '20 at 06:27
  • 1
    @Paulw11 the base app transferred! But there's an issue with my iOS 14 home widget extension when adding it to the new custom app version. Getting the error "Embedded binary's bundle identifier is not prefixed with the parent app's bundle identifier. Embedded Binary Bundle Identifier: com.company.app.widget Parent App Bundle Identifier: com.company.app-custom" I think it's looking for the original app target's identifier (com.company.app), but I need to work with the custom one too. I added the widget in the custom app's "Frameworks, Libraries, Embedded Content". How can I get it to work? – fphelp Dec 21 '20 at 23:26
  • 1
    You need to add another target for the widget extension (You should already have one for the existing widget extension) and make sure the bundle id is correct for both – Paulw11 Dec 22 '20 at 02:11

0 Answers0