【问题标题】:Unable to compile for iOS 10 after Sierra UpdateSierra 更新后无法为 iOS 10 编译
【发布时间】:2017-03-20 00:29:36
【问题描述】:

我有一个今年 8 月生成的证书和配置文件。它们在 Apple Developer Portal 中均有效(未过期)。

当我打开面向 8.3 的项目时,我收到此错误:

No certificate matching 'iPhone Developer: My Name (###ABC123)' for team 'Company.'
Select a different signing certificate for CODE_SIGN_IDENTITY, a team that matches your selected certificate, or switch to automatic provisioning.
  • 我可以在 Keychain 中看到嵌套在我的证书下的私钥。
  • 在我的项目设置中,单击我的目标并查看我的配置 轮廓。
  • 在签名证书下,我看到无。

起初我看到“此配置文件没有无线附件配置”的错误,我不需要。当我取消选择并重新选择配置文件时,此错误消失了。

【问题讨论】:

  • 当你选择你的目标,然后是构建设置,你的团队是在开发团队下选择的吗?
  • 在我更新到 Sierra 并使用新的 Xcode 8.1 后,我也遇到了一些类似的问题,我在其中使用了未过期的证书和配置文件。然后我检查了 Xcode 首选项并添加了相关帐户的相应 Apple ID,然后它工作正常。如果可以在项目->常规下尝试“自动管理签名”。

标签: ios xcode app-store-connect provisioning-profile


【解决方案1】:

我遇到过很多类似的问题,开发者门户显示有效的证书/配置文件,而 Xcode 拒绝签名。

终于找到了每次遇到它时似乎都能解决问题的东西:

• 在在线开发者门户上打开 Certificates, Identifiers & Profiles 页面
• 转到Provisioning Profiles -> All 标签
• 选择您要为其构建的配置文件,然后点击Edit
• 选择您机器上的证书,然后单击“生成”
• 下载配置文件并拖入停靠栏中的 Xcode 图标
• 清理并重建您的项目

我不知道这是否是黄金修复,或者只是碰巧在我的情况下工作......但值得一试。

【讨论】:

    【解决方案2】:

    升级后我遇到了不同的编译问题;对我帮助很大的是有人指出 macOS El Capitan 10.11.1 和 Sierra 10.12.1 对 root 设置了限制。我以恢复模式(command+R)重新启动计算机,然后从实用程序->终端输入

    csrutil disable
    

    然后正常重新启动计算机,我确保使用从苹果开发者网站下载的 Xcode 已正确安装,并重新安装了与我相关的程序。也许这会对你有所帮助?

    【讨论】:

      【解决方案3】:

      根据 Apple 的Xcode 8.1 Release Notes,有许多签名问题。它们包含在下面,并具有(不是那么详细)推荐的解决方法:

      我还包含了一个Xcode Signing Configuration Guide,其中包含有关 Xcode 8 的代码签名过程以及与以前版本的差异的已知问题和详细说明。使用目录访问 Signing in Xcode 8 部分,您应该在其中找到解决您遇到的 CODE_SIGN_IDENTITY 错误的步骤。

      * 更新 *

      签名时的2016 WWDC video。它很慢,但它涵盖了最新的 iOS 更新和 Xcode 8 所做的更改以及基础知识。

      【讨论】:

      • 我相信他们的意思是手动调整您的 .plist 和 bundle 首选项,以指定与项目关联的签名身份和/或配置文件。查看我添加的链接,将您定向到新的 WWDC 签名视频。
      • 另外,您是否检查过您的 Xcode 帐户是否正确设置了构建所需的签名身份? Xcode~>Preferences~>Accounts~>AppleID~>查看详情...
      【解决方案4】:

      如果您使用的是 Cordova,请确保您使用的是最新版本的工具,或者按照本文中的步骤操作:https://dpogue.ca/articles/cordova-xcode8.html。您将需要添加一个钩子(JS 文件)并更新您的 build.json 文件(如果没有,则在根目录添加一个)。不要忘记清理和重建您的项目。

      如果您还碰巧在 Visual Studio 中使用了适用于 Apache Cordova 的工具,则在上传到商店时会出现错误 ITMS-90161。我知道的唯一可行的解​​决方法是在第 4 步描述here

      然后我在 "...远程构建/构建/"xxx-buildnmb"/cordovaApp/plattforms/iOS/" 并使用 Xcode 在“Build”中定义代码签名身份 设置”和“常规”中的团队信息,创建存档 通过 Product-->Archive 并提交到 Organizer - Archives

      【讨论】:

      • 以上最重要的部分是您现在必须使用 XCODE GUI!过去,您可以使用 Cordova 构建,然后只需使用 Application Loader 将其发送出去。现在,在您使用 XCode 存档选项(需要将构建设置为通用以激活该选项)和上传器之前,您将收到错误的证书错误(在非常好的证书上)并浪费数小时/数天的时间!
      【解决方案5】:

      我们的处理方式是重新生成我们的证书和配置文件:

      1. 何时前往 Apple 开发者中心
        • 已删除证书和配置文件
        • 创建了两个新证书 - dev 和 distro
        • 创建了两个配置文件 - dev 和 distro
      2. 将新证书导入钥匙串
      3. 在 Xcode 中配置了新的配置文件

      它很容易工作。我猜我本可以为第 2 步和第 3 步重新导入现有证书和配置文件,而不必像第 1 步那样重新创建。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多