Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Changing manually $(AppIdentifierPrefix) property?

I had application uploaded on apple store. Now I am developing update version. But instead on working on existing project, i created new project with different name. When i finished i changed name and bundle identifier to match existing app.

I tried uploading app to test flight but i got error

"Invalid IPA: The keychain-access-group in the embedded.mobileprovision and your binary don't match."

So I started browsing net for answers... What I have come up is to enable entitlements. I did, but to no avail... Then i edited entitlements, changing from this:

$(AppIdentifierPrefix)com.xxxx

to this:

12HJ2312.com.xxxx (the number is number of prefix from developer portal)

And it worked, i could upload. And the world was fine once again. Or was it? I still don't understand why I had to change this. From where is

$(AppIdentifierPrefix)

is red? I thought is is red from keychain, but it seems not, because in keychain is the same value I entered. So how can i see this value, and where does it draw its contents?

like image 815
MegaManX Avatar asked Jul 04 '13 15:07

MegaManX


People also ask

Where is the Apple App prefix?

Log in to the iOS developer member center and navigate to "Certificates, Identifiers & Profiles". Once in there, navigate into the App IDs section inside of the Identifiers section. Create a new App ID with the same wildcard bundle ID you are already using but using your Team ID based prefix as its prefix.

What is Entitlement plist?

The Entitlements. plist file is used to specify entitlements and is used to sign the application bundle. However, some additional provisioning is required to ensure that the app is code signed correctly. The provisioning profile used must contain an App ID that has the required capability enabled.


1 Answers

The app identifier prefix is specified in the provisioning profile you are using. Locate the provisioning profile in finder. To do that, in Xcode, go to Window>Organizer. In organizer, right click on the provisioning profile and select 'Reveal Profile in Finder'). Open the file in TextEdit or some other text editor and you will see something similar to this inside , somewhere in the middle (search for "Entitlements").

<key>Entitlements</key>
<dict>
    <key>application-identifier</key>
    <string>A1B2C3D4E5.com.example.*</string>
    <key>get-task-allow</key>
    <false/>
    <key>keychain-access-groups</key>
    <array>
        <string>A1B2C3D4E5.*</string>
    </array>
</dict>

The app identifier prefix in this case is A1B2C3D4E5

like image 64
Ahmed Mohammed Avatar answered Oct 10 '22 23:10

Ahmed Mohammed