c - 如何使用 Xcode 编译 C 程序,以便在沙箱中使用二进制文件?
问题描述
我有一个 Cocoa 应用程序,它运行我包含在项目中的二进制可执行文件,除非我打开沙盒。我想要沙盒,所以我需要一种方法来授权该程序的运行。我有源代码——这个二进制可执行文件是一个大包的一部分,它带有一个 shell 脚本,用于制作软件和一堆其他程序。它在我的 Mac 上使用此脚本成功编译。
我在 stackoverflow 上发现了另一篇文章,其中建议 C 代码可以与应用程序的其余部分一起在 XCode 中编译,并且可以以这种方式执行。
真的吗?我想将 C 代码编译为我的应用程序的一部分并运行它创建的二进制可执行文件。
解决方案
我知道了。
正如 trojanfoe 所建议的那样,代码设计工作。
codesign -s "Me" theBinary
问题是我的 Swift 线路,
Bundle.main.url(forAuxiliaryExecutable: "theBinary")
我把它改成,
Bundle.main.url(forResource: "theBinary", withExtension: nil)
现在它可以工作了。好吧!只花了我99美元。
推荐阅读
- mysql - FORMAT 函数不适用于列中的所有数字?
- android - 防止在 Airwatch 托管设备上进行 android 应用逆向工程
- php - 如何仅显示未应用的类别?
- google-apps-script - 谷歌表格 - 如何从这个网站获取货币信息
- python - 在 bash 脚本中激活 python 虚拟环境失败并显示“sudo: source: command not found”
- php - 如何在 codeigniter 中禁用 ONLY_FULL_GROUP_BY?
- r - 为什么基础 R 中的 Date 类由双精度支持
- tensorflow - 启动 TensorFlow 会话时出现“CUDA_ERROR_INVALID_DEVICE:无效的设备序号”
- java - 在这方面,Future 和 Completable Future 有什么区别?
- scala - 如何在 scala 2.13 中进行模式匹配?