我想对我的应用程序进行公证,并且在公证时我收到此“消息”的程序包无效状态:“可执行文件未启用强化运行时。”
我正在用highsierra和Xcode 9.4构建应用程序。
我尝试在代码签名时添加--options = runtime,但无助于解决错误。
答案 0 :(得分:0)
如果消息显示“未启用强化的运行时。”,则为。 您添加的选项由于任何原因都没有生效。
尝试在命令行中运行codesign
。
也可以尝试使用--deep
选项。
该消息应告诉您哪个可执行文件未启用强化运行时。在对整个应用程序进行签名之前,请分别对特定的可执行文件进行签名,然后检查该错误是否消失。
答案 1 :(得分:0)
使用codesign
。它有一个--options=runtime
标志。
答案 2 :(得分:0)
codesign选项运行时的意思是“使签名与使用强化的运行时构建的二进制文件兼容”。但是您的错误消息表示二进制文件是 build 构建的,没有启用强化的运行时。生成代码并对其进行签名是两件事-签名时无法追溯生成。
您需要使用“签名和功能”选项卡左侧的+按钮添加“强化运行时”选项,或者,如果您手动进行所有操作,请进入构建设置并将ENABLE_HARDENED_RUNTIME
设置为{{1} }。
当您验证应用程序的签名时,请使用:
YES
查找以“ codedirectory”开头的行,并确保列出的标志之一是“ runtime”。