使用新目标上传IPA到TestFlight时出现错误

13

我最近为我的应用程序创建了一个 Lite 版本的新目标。现在,当我尝试将 .ipa 文件上传到 TestFlight 以便分发给我的设计师时,出现以下错误:

无效的 IPA:嵌入式 mobileprovision 中的 keychain-access-group 和您的二进制文件不匹配。

显然这是由于新的目标引起的。有没有人知道我需要更改什么才能使它正常工作?

7个回答

10
我曾遇到过这个问题。它是由于在目标构建设置中使用了错误的发布代码签名身份引起的。您不需要一个授权文件。

这也是我的问题。事情是这样的,我更新了一些证书,XCode自然混乱了,为所有构建设置选择了错误的证书。选择正确的证书后,一切都正常了。 - n13

3

请确认您正在使用正确的分发配置文件进行代码签名。

在Xcode项目下选择 > 构建设置 > 代码签名

代码签名身份: - 调试 > iPhone Developer - 发布 > iPhone Distribution

预配配置文件: - 确保在此处选择了分发配置文件!


2

有什么想法要改变它们吗?我生成了一个授权文件,但还是不知所措。 - Ser Pounce
谢谢您提供那个屏幕截图。我的应用程序标识符看起来是这样的:$(AppIdentifierPrefix).myapp.My-App-Lite。我需要将“your.bundle.identifier”更改为其他内容吗? - Ser Pounce
@StackOverFlowRider 不,捆绑标识符应该是您在目标捆绑标识符中拥有的内容。还要确保它与您的完整版本具有不同的标识符,并且您从苹果的开发者门户网站下载了新的证书。另一个要检查的事项是,您是否使用新下载的 Lite 版本证书对其进行签名。 - Bot
这种情况发生在没有使用授权的应用程序中...那么怎么办? - ocodo
@Slomojo 我相信你需要在新版本的Xcode中使用entitlements。至少在我使用entitlements之前,这就是发生的事情。 - Bot
@Bot - 我通过确保我的预配资料有序来解决了这个问题,证书已经更新,我们认为它比资料旧。但实际上不是。- 我会添加另一个答案。 - ocodo

0

这是对我有效的方法:

  1. 对于我建立的所有代码签名身份,使用自动(企业分发)配置文件选择。
  2. 在进行企业/Ad Hoc分发工作流程时,选择“刷新证书”。

0

我有这样的问题,不确定你是否也有同样的问题。

如果我安装了一个与我要安装的应用程序具有相同应用程序ID但不同目标的已安装应用程序,则会出现问题。似乎应用程序的应用程序ID和目标是唯一的。因此,我必须删除该应用程序以安装具有相同应用程序ID但不同目标的另一个应用程序。


0

如果您没有使用授权文件...

请仔细检查您的开发者证书和配置文件是否是最新的(即使您在组织者中看到了令人放心的绿色勾号)。通过访问Apple Provisioning Portal并编辑/修改用于签署应用程序的配置文件来刷新配置文件。

取消选中并选中签名标识,以便您可以提交表单并重新生成配置文件。

等待一分钟(真的),返回XCode并从组织者中删除配置文件,然后刷新配置文件,它应该重新出现为重新生成的版本。

完成上述步骤后,请尝试归档/签署ipa,并上传到TestFlight。

(使用TestFlight应用程序可加快此过程。)


0

这里有其他很好的答案,但是我想强调一些事情。

如果您为超过1个客户工作,并且实际上使用了超过1个开发者帐户,则“存档向导上的代码签名标识的自动选择”可能与您需要的不同,您可能需要每次创建AdHoc版本时都进行选择。

这里有一张图片,展示您可能出错的地方(那就是我的错误所在):

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接