无法编译塞拉利昂更新后的iOS 10

我有一个证书和configuration文件生成今年八月。 它们在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. 
  • 我可以看到钥匙串中的证书下嵌套的私钥。
  • 在我的项目设置,我点击我的目标,看到我的configuration文件。
  • 在签名证书下,我看到没有。

起初,我看到“此configuration文件没有无线configurationconfiguration”,我不需要的错误。 当我取消select和重新selectconfiguration文件,这个错误消失了。

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

终于find了一些似乎在每次遇到它时都会有所伎俩的东西:

•在线开发者平台上打开“ Certificates, Identifiers & Profiles页面
•转到“ Provisioning Profiles -> All选项卡
•select您正在尝试构build的configuration文件,然后单击Edit
•select您机器上的证书,然后点击“生成”
•下载configuration文件并拖放到扩展坞的Xcode图标上
•清理并重build您的项目

我不知道这是否是一个黄金解决scheme,或者只是碰巧在我的情况下工作…但值得肯定的是这个镜头。

升级后我有一个不同的编译问题。 有人指出,macOS El Capitan 10.11.1和Sierra 10.12.1对root有限制。 我重新启动我的电脑在恢复模式(命令+ R),然后从公用事业 – >terminal我input

 csrutil disable 

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

根据苹果的Xcode 8.1发行说明 ,有许多签名问题。 它们包含在下面,并且有(并非如此详细)推荐的解决方法: 在这里输入图像说明

我还包含了一个Xcode签名configuration指南 ,其中包括有关Xcode 8代码签名过程的已知问题和详细说明以及与以前版本的差异。 使用目录访问签名Xcode 8部分,在那里你应该find解决你所遇到的CODE_SIGN_IDENTITY错误的步骤。

*更新*

2016年WWDCvideo签名。 这个过程非常缓慢,但是随着最新的iOS更新和Xcode 8的发展,这些变化也随之而来。

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

如果您也碰巧在Visual Studio中使用了Apache Cordova的工具,则在上传到商店时需要使用ERROR ITMS-90161。 我知道的唯一工作解决方法是在步骤4中描述的:

然后,我在“… remote-builds / builds /”xxx-buildnmb“/ cordovaApp / plattforms / iOS /”中发现了Xcode项目,并使用Xcode在“Build Settings”中定义了代码签名标识,一般“,通过产品 – >档案创build档案,并提交给组织者 – 档案

我们如何处理这个问题就是重新获得我们的证书和档案:

  1. 何时去苹果开发者中心
    • 已删除的证书和configuration文件
    • 创build了两个新的证书 – dev和distro
    • 创build了两个configuration文件 – dev和distro
  2. 将新的证书导入钥匙串
  3. 在Xcode中configuration新的configuration文件

它很容易工作。 我猜我可以重新导入现有的证书和步骤2和3的configuration文件,而不是像1中一样重新创build。