3

I have an app live on the App Store, and I'm working on a second release.

Installing a new version from Xcode would overwrite the release version on the phone - which I'd like to avoid. What's the best practice for maintaining two copies (release and dev) version of an iOS / OS X app on a device?

Obviously, you could manually change the bundle identifier, but that has other negative consequences.

EDIT:

There's this: http://blog.chrismiles.info/2011/04/ios-dev-beta-production-builds.html but it's quite out of date.

jszumski
  • 7,430
  • 11
  • 40
  • 53
Sam Ballantyne
  • 487
  • 6
  • 18
  • There is no way to have two apps with the same bundle id on the same device at the same time. – rmaddy Apr 22 '15 at 15:00
  • @rmaddy, yes, I'm aware of that. I'm wondering what the best practice is. A separate Xcode scheme? A separate project sharing source code? – Sam Ballantyne Apr 22 '15 at 16:02

1 Answers1

3

Typically I would recommend two bundle IDs: one for internal/beta/development use and one for production use in the App Store.

In a more complex case you could split development and beta to give you a total of 3 separate IDs.

When it comes time to test version upgrade scenarios you'll have to switch to the production bundle ID for final testing and release candidates.

Simon Wolf has a pretty good write up of the approach: Concurrent Debug, Beta and App Store Builds.

Tamás Sengel
  • 55,884
  • 29
  • 169
  • 223
jszumski
  • 7,430
  • 11
  • 40
  • 53
  • How do you set the bundle identifiers? Manually? Using build or scheme settings? – Sam Ballantyne Apr 22 '15 at 16:34
  • I've used both manual and scheme-based approaches. If you're using CI then you'd definitely want to pursue the scheme way. Here is a more recent blog post that has good coverage of this topic: http://www.swwritings.com/post/2013-05-20-concurrent-debug-beta-app-store-builds/ – jszumski Apr 22 '15 at 16:39