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

How can I use Xcode to compile a C program so I can use the binary in the sandbox?

我有一个 Cocoa 应用程序,它 运行 是我包含在项目中的二进制可执行文件,除非我打开沙盒。我想启用沙盒,所以我需要一种方法来授权此程序的 运行ning。我有源代码——这个二进制可执行文件是一个大包的一部分,这个大包带有一个 shell 脚本,用于制作该软件以及一系列其他程序。它在我的 Mac.

上使用此脚本成功编译

我在 Whosebug 上发现了另一个 post,其中建议 C 代码可以与应用程序的其余部分一起在 XCode 中编译,并且允许以这种方式执行。

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

我知道了。

正如 trojanfoe 所建议的那样,代码签名有效。

codesign -s "Me" theBinary

问题是我的 Swift 行,

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

我改成了,

Bundle.main.url(forResource: "theBinary", withExtension: nil)

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