我在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)
是红色的?我认为钥匙串是红色的,但似乎没有,因为钥匙串是我输入的相同值。那么我怎么能看到这个值,它在哪里绘制它的内容呢?
答案 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。