好的,撇开明显的打包和签名问题不谈,是否有可能通过使用来自非 Apple 操作系统(如 Linux 或 Windows)的正确构造的 LLVM 位码 (IR) 来编译 IOS/iPhone 兼容的可执行文件,即利用一些LLVM、Clang 或 GCC 等开源编译器基础架构的组合?
基本上,我正在考虑的是
将预先存在的跨平台 SDK(IOS 兼容)编译为 LLVM 中间表示(IR/bitcode)。
使用 LLVM 分析工具分析和识别该层内的 IOS 特定 LLVM (IR) 函数调用。
在非 Apple 系统上将 SDK 编译为 LLVM IR 后,替换非 Mac 主机生成的相应 LLVM IR 函数调用中的 Apple/IOS-generated-LLVM-bitcode-SDK-representation。
[可能] 使用 Mac 的 XCode/Clang/LLVM 基础设施发出的构建标志,以便在非 Apple 主机编译机(例如 Linux 或 Windows)上构建与 IOS 兼容的可执行文件。
如果这完全可行,我稍后将研究创建 iPhone/IOS 捆绑包(IPA 的构造已记录,请询问 Google)并使用开源 Apple 代码签名例程,该例程已在其他跨平台中使用IOS SDK 的