3

我编写了一个使用 CloudKit 的 mac 应用程序,自从我升级到 Sierra 和 XCode 8 后,该应用程序将成功构建,但是当我单击“运行”时 Xcode 不会启动该应用程序。

如果我进入 Derived Data 文件夹并手动双击我的应用程序以启动它,它会立即崩溃并在错误报告中显示以下内容:

Time Awake Since Boot: 12000 seconds
Time Since Wake:       6500 seconds

System Integrity Protection: enabled

Crashed Thread:        0

Exception Type:        EXC_CRASH (Code Signature Invalid)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace CODESIGNING, Code 0x1

有趣的是,如果我将应用程序存档并导出开发者 ID 签名的应用程序,导出的构建会成功签名并且可以完美运行。

此外,如果我进入功能选项卡并关闭 iCloud 功能,该应用程序将在 XCode 中成功运行。

每当我在 DerivedData 文件夹中的应用程序上运行 spctl 时,无论我是否启用或禁用了 iCloud,我总是得到这个:

spctl --assess --verbose=4 MyApp.app
MyApp.app: rejected

在 XCode 的“常规”选项卡中,我将其设置为“自动管理签名”,据我所知,我的所有证书都是有效的。

不太确定在这里做什么。我什至尝试过完全禁用 Gatekeeper,但仍然没有运气。

4

1 回答 1

3

啊啊啊。找到了我的问题的答案,希望答案对你也有帮助。我的代码签名在开发目标中设置正确,但在测试目标中是临时签名的。一旦我为测试目标设置了配置文件,问题就消失了。

在此处输入图像描述

于 2016-10-22T06:24:38.040 回答