好的,抛开明显的打包和签名问题,是否可以通过使用来自非Apple操作系统(如Linux或Windows)的正确构造的LLVM bitcode(IR)来编译兼容IOS / iPhone的可执行文件,即通过利用开源编译器基础结构的某种组合,如LLVM,Clang或GCC?
基本上,我正在考虑的是
将预先存在的跨平台SDK(IOS兼容)编译为LLVM中间表示(IR / bitcode)。
使用LLVM分析工具分析并识别此层中特定于IOS的LLVM(IR)函数调用。
在非Apple系统上编译SDK到LLVM IR之后,在相应的LLVM IR功能中替换 Apple / IOS生成的LLVM-bitcode-SDK表示非Mac主机生成的呼叫。
[可能]使用Mac的XCode / Clang / LLVM基础架构发出的构建标志,以便在非Apple主机编译机器(例如Linux或Windows)上构建兼容IOS的可执行文件)。
如果这完全可行,我稍后会调查iPhone / IOS捆绑的创建(记录IPA的构建,请求Google)并使用已经在其他地方使用的开源Apple代码签名例程跨平台的IOS SDK
答案 0 :(得分:4)
RoboVM不支持从Mac OS以外的操作系统交叉编译iOS应用程序,但我们计划在将来支持该应用程序。这是一个在您可能感兴趣的Linux上运行的iOS交叉编译工具链:https://code.google.com/p/ios-toolchain-based-on-clang-for-linux/。
答案 1 :(得分:3)