views:

55

answers:

2

I want to keep two versions of my app on my phone: the shipping version, and the currently-in-development version. What's the best-practices way to do this?

A: 

You can change the app bundle identifier which will cause it to be installed on your device as its own app, when you want to re distribute just change the bundle identifier (in the plist) back to what it was, that should work for you

Daniel
Changing the bundle name doesn't seem to make a difference...it just ends up replacing the app that's already on my phone. The only thing that seems to affect a change is altering the Bundle Identifier. Yet that's problematic, because Xcode chokes when it's trying to sign my code for the device, saying that the bundle id doesn't match with what's in my development certificate. I'm not sure if it's possible to change my development certificate to use wildcards to get around the problem...that's part of what I was trying to ask here.
Greg Maletic
sorry i meant the bundle identifier, ill correct this
Daniel
+3  A: 

I make two targets in XCode. One ad hoc and the other appstore.

Each has its own distribution profile, and each has its own AppID so both versions can co-exist on your phone.

Caveat: the appstore version has to be resigned and installed via iTunes.

Depends on what you mean by "shipping". If you mean the version that's already out then you'll just have to man up and buy your own app.

Rhythmic Fistman
I did a variant of this. I created two targets in Xcode, one for "production," one for "beta". I then gave my beta version a bundle identifier of "com.[mycompanyname].[myproductname].beta". Finally, I created a new development certificate for myself with a domain of "com.[mycompanyname].*", so it could be applied to both my production product and my beta product. Thanks.
Greg Maletic
I also add the version and even feature/branch name to my ad hoc bundle identifier so that testers can have two different versions installed.
Rhythmic Fistman