如何在不迁移到Xcode 10的情况下为应用程序启用强化运行时?

时间:2019-06-05 23:21:21

标签: xcode macos notarize

我想对我的应用程序进行公证,并且在公证时我收到此“消息”的程序包无效状态:“可执行文件未启用强化运行时。”

我正在用highsierra和Xcode 9.4构建应用程序。

我尝试在代码签名时添加--options = runtime,但无助于解决错误。

3 个答案:

答案 0 :(得分:0)

如果消息显示“未启用强化的运行时。”,则为。 您添加的选项由于任何原因都没有生效。

尝试在命令行中运行codesign。 也可以尝试使用--deep选项。 该消息应告诉您哪个可执行文件未启用强化运行时。在对整个应用程序进行签名之前,请分别对特定的可执行文件进行签名,然后检查该错误是否消失。

答案 1 :(得分:0)

答案 2 :(得分:0)

codesign选项运行时的意思是“使签名与使用强化的运行时构建的二进制文件兼容”。但是您的错误消息表示二进制文件是 build 构建的,没有启用强化的运行时。生成代码并对其进行签名是两件事-签名时无法追溯生成。 您需要使用“签名和功能”选项卡左侧的+按钮添加“强化运行时”选项,或者,如果您手动进行所有操作,请进入构建设置并将ENABLE_HARDENED_RUNTIME设置为{{1} }。 当您验证应用程序的签名时,请使用:

YES

查找以“ codedirectory”开头的行,并确保列出的标志之一是“ runtime”。