手动更改$(AppIdentifierPrefix)属性?

时间:2013-07-04 15:01:15

标签: ios uniqueidentifier keychain

我在Apple商店上传了应用程序。现在我正在开发更新版本。但是,在处理现有项目时,我创建了具有不同名称的新项目。当我完成后,我更改了名称和包标识符以匹配现有的应用程序。

我尝试将应用程序上传到测试航班,但我收到了错误

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

所以我开始浏览网络以寻求答案......我提出的是启用权利。我做了,但无济于事......然后我编辑了权利,改变了这一点:

$(AppIdentifierPrefix)com.xxxx

到此:

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

它有效,我可以上传。世界再次变得美好。或者是吗?我仍然不明白为什么我要改变它。从哪里

$(AppIdentifierPrefix)

是红色的?我认为钥匙串是红色的,但似乎没有,因为钥匙串是我输入的相同值。那么我怎么能看到这个值,它在哪里绘制它的内容呢?

3 个答案:

答案 0 :(得分:12)

应用标识符前缀在您使用的配置文件中指定。在finder中找到配置文件。为此,在Xcode中,转到Window> Organizer。在组织者中,右键单击配置文件,然后在Finder中选择“显示配置文件”。在TextEdit或其他文本编辑器中打开文件,你会看到类似于里面的东西,在中间的某个地方(搜索" 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>

此案例中的应用标识符前缀为A1B2C3D4E5

答案 1 :(得分:5)

正如艾哈迈德回答的旁注:

${AppIdentifierPrefix}的值为"A1B2C3D4E5."

所以OP的原始问题是那个

${AppIdentifierPrefix}.com.xxx评估为A1B2C3D4E5..com.xxx,与您的个人资料不符。

答案 2 :(得分:4)

在Xcode 5中已经改变了。这就是我做的方式:

在Mac上打开Keychain Access应用程序。查找开发人员构建的“iPhone Developer”证书,或ad-hoc和App Store构建的“iPhone Distribution”证书。

如果有多个证书,您可以通过查看项目Build Settings中的Code Signing Identity字段找到您在Xcode中使用的证书。它可能会说“iOS Developer”。单击此按钮将列出“钥匙串中的身份”。这应该可以告诉您实际使用的身份。

返回Keychain Access,选择证书(例如“iPhone Developer”),然后单击窗口底部的“i”按钮。使用证书信息几秒钟后会弹出另一个窗口。查看详细信息部分,您将看到“组织单位”。如果一切正常,那么该ID值将与$(AppIdentifierPrefix)相同,并且对于开发人员和分发证书也应该相同。此外,“iPhone发行版”证书应在标题中具有相同的ID。