Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can I change the Bundle Identifier in my app after it's been approved?

Tags:

I've got my app approved a while ago and used the * provisioning profile so I created somehting like:

com.mydomain.MyApp

but now I have the necessity of adding push notifications and I can't due I am using the * provisioning profile and it needs to have its own app ID and profile.

How should I proceed in order to achieve an app update without breaking anything

like image 960
Dabor Troppe Avatar asked Apr 04 '10 19:04

Dabor Troppe


People also ask

Can you change an apps bundle ID?

You cannot change the bundle identifier of an app. You can create a second app that looks and behaves exactly the same and has a different bundle identifier, but the bundle identifier is what makes it that app. It's the identity of the application.

What should my bundle identifier be?

The ending should be some variant of your app's name for readability. (It can actually be whatever you want, as long as all of your apps have different ones.)


2 Answers

You can't change the CFBundleIdentifier of a released app if you want to release updates for it, the App Store will automatically reject it when you upload. So...

I needed to enable iAds on an app previously developed with a wildcard App ID. Here's what I did:

I have a wildcard App ID of <AlphaNumeric>.* which my app currently uses, and my app has a CFBundleIdentifier of com.companyname.mygame.

Created a new App ID of <AlphaNumeric>.com.companyname.mygame.

Created new development and distribution provisioning profiles that include the new App ID.

Download the new provisioning profiles to Xcode and my devices.

I was then able to compile the App with the new non-wildcard distribution profile, which meant on upload I could enable iAds (or Push for you). The CFBundleIdentifier didn't change so the new compilation appears as an update to the existing app.

I can confirm this process worked without issue.

like image 38
hjd Avatar answered Oct 07 '22 20:10

hjd


The bundle identifier for an app must always remain the same between updates, but the AppID can actually be different. So all you need to do is create a new AppID that used the same bundle identifier as the original app instead of a wild card.

Apps that use a wildcard still need a normal bundle identifier. The wildcard AppID lets you use any bundle identifier you like, but it still needs one.

There used to be an Apple article about this: but it is no longer available online However, an archive is available.

like image 112
bovine Avatar answered Oct 07 '22 20:10

bovine