macOS Hardened Runtime是OS SDK的一部分吗?

时间:2019-04-25 02:51:17

标签: xcode macos

因此,我们正在准备针对我们的应用程序以及MacOS SDK更新进行XCode更新,并且我不清楚公证所需的Hardened Runtime的使用是否与您使用的macOS SDK版本绑定在一起?

强化的运行时在哪里生活,编译的应用程序如何与之交互?不清楚是否通过语言运行库(因此是编译器/ XCode版本),SDK或其他方式实现。

2 个答案:

答案 0 :(得分:2)

在代码签名过程中应用了强化的运行时。您可以构建没有该应用程序的应用程序,然后使用codesign命令从命令行通过强化的运行时进行签名

codesign --force --options runtime --deep --sign "Developer ID Application: COMPANYNAME" MYAPP.app

请注意runtime标志。 codesign的手册页指出了运行时:

  

在macOS版本> = 10.14.0上,将签名的进程选择进入强化的运行时环境,其中包括运行时代码签名实施,库                 验证,硬性,终止和调试限制。这些限制可以通过权利有选择地放宽。注意:较旧的macOS版本                 比10.14.0忽略代码签名中此标志的存在。

在Xcode为您执行签名过程时,在Xcode中为hardened runtime选择选项将应用runtime参数。

答案 1 :(得分:0)

这是我从苹果公司的WWDC https://laravel.com/docs/5.8/eloquent-serialization#appending-values-to-json中截取的屏幕截图,据我了解它是向后兼容的。运行部分从视频的22:00开始。

video