我正在尝试使用Testflight将IPA上传到我的应用测试人员,但它失败并出现以下错误:
无效的IPA:embedded.mobileprovision中的keychain-access-group和你的二进制文件不匹配。
我很困惑,因为我觉得我的设置非常标准,而且我有另一个应用程序,我可以构建和分发很好(注意:使用第二个开发人员帐户,但在Xcode的相同实例中)。
以下是我的设置:
com.bubblefoundry.Clear
。当然,它的前缀是Apple分配的数字标识符。Clear
。com.bubblefoundry.Clear
,其中“清除”为浅灰色,并由Xcode自动填充。虽然我可以在Clear
之前或之后添加文字,但我无法将其删除。 “信息”标签下的名称为com.bubblefoundry.${PRODUCT_NAME:rfc1034identifier}
。我可以存档我的应用程序就好了。然后在组织者中我可以告诉它将其分发用于临时开发,然后选择使用我之前创建的分发配置文件重新签名。没有报告错误。同样,我可以连接我的iPhone并在手机上运行应用程序没有问题。只有当我尝试使用Testflight.app上传IPA时,我才被告知该文件无效。
因为它提到embedded.mobileprovision
,我想我会参加IPA并检查文件。这是相关数据(减去唯一信息):
<plist version="1.0">
<dict>
<key>AppIDName</key>
<string>Project Clear</string>
<key>ApplicationIdentifierPrefix</key>
<array>
<string>app-id</string>
</array>
<key>CreationDate</key>
<date>2013-01-11T17:44:51Z</date>
<key>DeveloperCertificates</key>
<array>
<data>
my-certificate
</data>
</array>
<key>Entitlements</key>
<dict>
<key>application-identifier</key>
<string>app-id.com.bubblefoundry.Clear</string>
<key>get-task-allow</key>
<false/>
<key>keychain-access-groups</key>
<array>
<string>app-id.*</string>
</array>
</dict>
<key>ExpirationDate</key>
<date>2013-10-07T17:44:51Z</date>
<key>Name</key>
<string>Project Clear Testers</string>
<key>ProvisionedDevices</key>
<array>
<string>device1</string>
<string>device2</string>
<string>device3</string>
<string>device4</string>
<string>device5</string>
</array>
<key>TeamIdentifier</key>
<array>
<string>app-id</string>
</array>
<key>TeamName</key>
<string>Bubble Foundry</string>
<key>TimeToLive</key>
<integer>269</integer>
<key>UUID</key>
<string>uuid</string>
<key>Version</key>
<integer>1</integer>
</dict>
</plist>
看看这个,几乎所有东西都与我之前设定的一致。唯一的想法是AppIDName
是Project Clear
,而不是Clear
。这是问题的根源吗?或者keychain-access-groups
可能是app-id.com.bubblefoundry.Clear
,而不是app-id.*
?
答案 0 :(得分:1)
在这种情况下,您的应用ID应为com.bubblefoundry.Clear
。
如果您创建了以下配置文件:
com.bubblefoundry.*
您可以将此配置文件与各种ID一起使用。
com.bubblefoundry.Clear
com.bubblefoundry.my
com.bubblefoundry.Clear.newApp
com.bubblefoundry.testApp
com.bubblefoundry.yoyo
您可以在indo.plist
中更改应用ID将com.bubblefoundry.${PRODUCT_NAME:rfc1034identifier}.
替换为所需的ID,例如:com.bubblefoundry.myTestApp
。