Take the 2-minute tour ×

I have an app in the App Store. I would like to be able to have the production version of my app on my phone and install debug/test development builds of newer versions of the app. I am using XCode 4 and it doesn't seem that this is possible. I attempted to change the bundle identifier by adding some numbers at the end and that didn't work. I also added the same numbers to my ${PRODUCT_NAME} but that did not help either. Is there a way to do this? I'd prefer to not generate another App Id in the iOS Provisioning Portal.

share|improve this question
add comment

2 Answers

up vote 4 down vote accepted

I do it in Xcode 3 by setting different bundle name ${BUNDLE_NAME} for a different identifier. plus different name, plus precompile instructions. Works well. Generate the ID, easy. I routinly produce 3 flavors of a build: development, release, and enterprise.

share|improve this answer
Can you please go into more detail about the changes you make? –  Brian Mar 15 '11 at 17:20
In Xcode 3 we have build configuration profiles. You will need a separate profile for each build flavor, plus Release. In my case it's 3 (Dev,Enterprise, and Release). Dev and Release don't share ${BUNDLE_NAME} and others are different too. com.company.appname.dev for Dev, and com.company.appname Release, and com.company.appname.enterprise(or adhoc). You can even share your keychain that way. –  bioffe Mar 15 '11 at 17:27
When I add .dev to the end of my Bundle Identifier I get the following when I try to run on my device - [BEROR]Code Sign error: a valid provisioning profile matching the application's Identifier 'com.company.appname.dev' could not be found –  Brian Mar 15 '11 at 17:43
@Brian did you register com.company.appname.dev id in the provisional portal? –  bioffe Mar 15 '11 at 17:45
I guess that's what I'm missing. I only have the com.company.appname in the portal. Actually its ####.com.company.appname. So I would just need to add com.company.appname.dev and .adhoc if I want to have those. That makes a little more sense. I didn't want to create unnecessary App Ids, but since I'm chaining off of my existing app I guess it doesn't really matter. Is this logic correct? And then I will need create provisioning profiles for each the new app Ids for development or Ad Hoc distribution? Thanks for helping me with this. –  Brian Mar 15 '11 at 17:52
show 2 more comments

I found a great detailed answer here. The article describes how to automate the process of having different builds for production and development versions of an app, both in Xcode 3 and Xcode 4.

share|improve this answer
add comment

Your Answer


