使用 swift 3 Xcode 8.2.1 在 iOS 上运行预构建的可执行文件
Posted
技术标签:
【中文标题】使用 swift 3 Xcode 8.2.1 在 iOS 上运行预构建的可执行文件【英文标题】:Running prebuilt executable on iOS using swift 3 Xcode 8.2.1 【发布时间】:2016-12-26 19:03:33 【问题描述】:我想在 ios 应用程序的工作周期中运行预构建的可执行文件。
我有针对不同架构构建的可执行文件(ARM 用于在设备上测试应用程序,x86 用于使用模拟器)。
任何如何将它集成到应用程序中的建议将不胜感激。
【问题讨论】:
你知道你不能fork
->exec
或在 iOS 中执行 NSTask
吗?即在 iOS 中从应用程序运行可执行文件将不起作用。
【参考方案1】:
您将无法从主应用程序在 iOS 上启动可执行文件 - 沙盒根本不允许。
但是,为了完成您想要做的事情,您可以从各个可执行文件创建一个胖二进制文件 - 此二进制文件将包含所有相关架构的可执行代码 - 使用名为 test.armv7 test.x86_64 的文件的示例:
lipo -create -arch armv7 test.armv7 -arch x86_64 test.x86_64 -output test.fat
这个二进制文件可以在两个平台上运行,如果你可以启动它的话;但正如开头段落中提到的,您无法从 iOS 启动可执行文件。
【讨论】:
以上是关于使用 swift 3 Xcode 8.2.1 在 iOS 上运行预构建的可执行文件的主要内容,如果未能解决你的问题,请参考以下文章
将 iOS 10.3.3 与 Xcode 版本 8.2.1 一起使用?