如何使用Xcode编译C程序,以便可以在沙箱中使用二进制文件?

时间:2019-02-26 13:57:29

标签: c swift xcode sandbox entitlements

我有一个Cocoa应用程序,该应用程序运行一个包含在项目中的二进制可执行文件,除非我打开沙箱。我希望使用沙箱,因此需要一种方法来授权该程序的运行。我有源代码-该二进制可执行文件是一个大程序包的一部分,该程序包附带一个Shell脚本,可用于制作该软件以及其他程序。它可以在Mac上使用此脚本成功编译。

我在stackoverflow上发现了另一篇文章,其中有人建议可以在XCode内将C代码与应用程序的其余部分一起编译,并允许以这种方式执行。

是真的吗?我想将C代码作为我的应用程序的一部分进行编译,并运行它创建的二进制可执行文件。

1 个答案:

答案 0 :(得分:1)

我明白了。

根据trojanfoe的建议,代码签名有效。

"msg": [ { "key": "riri", "value": [ "www-data", "/home/riri/.ssh/id_rsa", "ssh-rsa XXX2 ansible-generated on tournesol" ] }, { "key": "toto", "value": [ "toto", "/home/toto/.ssh/id_rsa", "ssh-rsa XXX1 ansible-generated on tournesol" ] } ]

问题是我的Swift行,

codesign -s "Me" theBinary

我将其更改为

Bundle.main.url(forAuxiliaryExecutable: "theBinary")

,现在可以使用了。好的!只花了我99美元。