Xcode 8.3.2签名错误

6
我在Sierra上安装了Xcode 8.3.2。我正在尝试构建一个企业.ipa(有企业成员资格)。
我在签署应用程序方面遇到了问题。具体地,在Xcode下,我在“通用\签名”下有以下内容:
- 自动管理签名已启用 - 团队:“我的团队(企业)” - 配置文件:Xcode托管配置文件 - 签名证书:iOS开发人员 - 状态
- 无法创建配置文件“com.myapp”,无法注册到您的开发团队。更改您的捆绑标识符以再次尝试。 - 找不到“com.myapp”的配置文件。Xcode找不到与“com.myapp”匹配的配置文件。
我的步骤如下:
- 登录https://developer.apple.com/account/上的企业帐户。 - 在证书、标识符和配置文件下选择添加 - 选择内部和广告 - 在我的MAC中,在钥匙串访问器中选择KeyChain Access\Certificate Assistant\Request a Certificate from a Certificate Authority - 保存到桌面 - 在https://developer.apple.com/account/中上传证书签名请求 - 我将其视为类型为iOS分发的证书,并设置过期日期 - 下载.cer文件并双击安装它 - 在Xcode\首选项中,我找到了团队和管理证书下的iOS分发证书和具有今天日期的企业版本。 - 我选择为该团队下载所有配置文件 - 在Xcode中,我选择General\Signing和“我的团队(企业)”
到此为止,我收到了上述两个错误。
我是Xcode开发的新手,所以我确定我的步骤有问题。
非常感谢您提供任何见解。

如果您正在尝试进行企业构建(内部应用程序分发),则您的签名证书应为iOS Distribution。iOS Development适用于构建到设备(例如用于调试)。 - wottle
谢谢回复。在Xcode首选项\帐户中,当我选择一个团队并点击“管理证书”按钮时,在iOS分发证书下面,我看到了一个企业证书。无论我选择哪个团队签名(已启用自动管理签名),我总是看到签名证书设为iOS开发者。我需要关闭自动管理签名吗?我注意到在生成设置中的签名\代码签名标识下,一切都设置为iOS开发者。我尝试将其设置为iOS分发,但没有帮助。 - brent
等等,你的应用程序 Bundle ID 在项目中实际上是“com.myapp”吗?如果是,那很可能被保留或已被其他开发者账户使用。你需要将你的 Bundle ID 更改为与你唯一的东西。一个 Bundle ID 只能注册到一个开发者账户。此外,如果你使用自动代码签名,你不需要手动创建配置文件和证书。这是自动代码签名将为您完成的工作。它不会损坏你的应用程序,但也是不必要的。 - wottle
不,实际上它并不是com.myapp。我有一台旧的MAC电脑,上面安装了旧版本的Xcode,我曾经使用独特的bundle id构建并部署到应用商店。现在我正在尝试在一台新的MAC电脑上使用最新版本的Xcode进行构建,但是当我尝试构建企业版时(在旧的设置中我已经能够做到这一点),我看到了上述错误信息。 - brent
您是否在新的 Mac 上使用与创建原始配置文件相同的 Apple ID 进行构建?如果您登录到开发人员帐户并进入标识符部分,是否看到您应用程序的确切 Bundle ID? - wottle
2个回答

9
我的问题的解决方案如下:
  1. 在 Xcode 的“General”选项卡下,禁用“自动管理签名”
  2. 在我的企业账户下的配置文件中创建一个新的分发配置文件,在https://developer.apple.com/account上进行
  3. 下载配置文件 => .mobileprovision 文件
  4. 双击 .mobileprovision 文件
  5. 禁用自动管理签名后,我选择了我刚刚在下拉框中签署(调试)和签署(发布)的新创建的配置文件
  6. 此时,我可以打包和导出企业 .ipa 文件

你在哪里找到了.mobileprovision文件?或者你最初是如何创建它的? - Ulysses Alves
您没有提到免费的开发者计划。 - Shourob Datta
下载.mobileprovision文件并在Xcode中打开解决了我在手动运行Xcode和创建存档时遇到的签名错误。这个存档可以在Mac笔记本上运行,但是我无法在运行在Ubuntu上的Jenkins上触发相同的操作!有人对此有什么想法吗? - Ashish Karpe

0

这是我的问题的解决方案,与这个类似:

将您的捆绑标识符更改为唯一字符串以重试。

  • 我猜你的捆绑标识符已经被其他开发者使用了,所以只需在您的签署标签上面的标识标签中更改您的捆绑标识符即可:
  • 例如: Bundle Identifier: org.react.native.example.RamenForLifeIn2022

希望能有所帮助 :)


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