4

I have one Xcode project that has 3 different configurations spread across 6 schemes as follows:

  1. Debug
  2. Config1Debug
  3. Config2Debug
  4. Release
  5. Config1Release
  6. Config2Release

Each Scheme:

  • Has its own Display Name and Bundle Identifier.
  • Has the proper Development/Distribution provisioning profiles generated from iTunes Connect assigned to them.

I would like to put the 3 release configurations onto the TestFlight/App Store as separate applications.

When running on a simulator or local iPhone using the Debug Schemes, everything works properly and 3 different applications run.

My problem is that when I archive the release schemes and then try to validate, the Bundle ID and the provisioning profile defaults to the "Release" scheme regardless of which scheme I am archiving. But the display name updates to the proper display name of the scheme.

My question is why is the display name properly updating while the Bundle ID and the provision profile defaulting to the "Release" scheme and how can I get the proper Bundle Id and Provisioning Profile to appear when doing validation?

Things I Have Tried

  • Deleting then re-downloading all the provisioning profiles on my machine
  • Restarting Xcode
  • Uploading the application anyways. I get an error saying the build number conflicts with the already uploaded Release app. I want to upload to the Config1 or Config2 app I have made on iTunesConnect, not the Release one.
  • Uploading the application anyways with a new build number. This will register as a new build on the Release app.
DerFlickschter
  • 1,059
  • 1
  • 9
  • 18
  • How are you defining the different bundle IDs for the different schemes? Do you have a separate Info.plist defined for each scheme? – wottle Aug 23 '17 at 18:09
  • @wottle there is one Info.plist with bundle is set to $(PRODUCT_BUNDLE_IDENTIFIER) which is defined for each scheme in Build Settings. – DerFlickschter Aug 24 '17 at 17:54
  • And you have different PRODUCT_BUNDLE_ID values defined for the different build configs? That is basically how we do it and we definitely get the correct bundle ids when we build for debug vs internal release vs App Store distribution. – wottle Aug 24 '17 at 17:57
  • yes, each Build Configuration has their own bundle id defined – DerFlickschter Aug 24 '17 at 18:18

1 Answers1

6

Found the solution here. Super simple can't believe I overlooked it. My schemes were only set to use the various configurations on Run. Once I edited the schemes and set Archive to use the proper config instead of Release, it worked fine.

DerFlickschter
  • 1,059
  • 1
  • 9
  • 18