Ios 苹果如何';iPad的Swift操场应用程序执行代码?

Ios 苹果如何';iPad的Swift操场应用程序执行代码?,ios,swift,ipad,llvm,Ios,Swift,Ipad,Llvm,用于iPad的Swift Playgrounds应用程序如何执行代码 他们是否已将LLVM工具链移植到ARM并正在动态编译,还是使用完全不同的方式执行Swift代码 我怎样才能在iOS中完成类似的事情(即,Swift代码的动态执行)?苹果和营销材料都没有说Swift操场是“真正的代码”。但是,您可以亲自验证(或者至少找到一些有力的证据)Swift Playgrounds确实运行完整的编译器工具链并生成本机arm64代码 提示:如果您在Mac(我猜也是Windows box?)上下载iTunes中

用于iPad的Swift Playgrounds应用程序如何执行代码

他们是否已将LLVM工具链移植到ARM并正在动态编译,还是使用完全不同的方式执行Swift代码

我怎样才能在iOS中完成类似的事情(即,Swift代码的动态执行)?

苹果和营销材料都没有说Swift操场是“真正的代码”。但是,您可以亲自验证(或者至少找到一些有力的证据)Swift Playgrounds确实运行完整的编译器工具链并生成本机arm64代码

提示:如果您在Mac(我猜也是Windows box?)上下载iTunes中的应用商店应用程序,您可以在本地文件系统中找到相应的
.ipa
文件。除非你是个爱喝啤酒的人,否则IPA只是包含应用程序包的压缩档案,当你同步时会安装到iOS设备上,所以你可以用你最喜欢的工具(包括macOS中的内置归档工具,或者
unzip
命令行工具)将其解压缩,并浏览一下它们的内部工作

如果您使用Swift Playgrounds执行此操作,您将发现Xcode中几乎完整的SDK和工具链副本,包括一些特定于链接arm64体系结构二进制文件的文件。(在编译器和相关工具中找不到任何命令行二进制文件,但运行LLVM工具链的部分并没有什么新的内容。)您还可以在Swift编译器的开放源代码中找到一些证据

所以,是的——在没有苹果官方确认的情况下,Swift Playgrounds似乎在iOS设备上编译并运行本机代码。(如果你想一想,否则就没有多大意义了——在某种解释/模拟环境中运行Swift代码会降低性能。而且可能会让苹果提供对整个iOS工具包的访问变得异常困难。)


没有。自2010年以来,第三方应用程序可以使用提供嵌入式脚本环境的工具——游戏引擎使用这些工具来加速游戏设计和开发,而其他应用程序则为和提供编码环境。但是你可以想象,允许第三方应用程序编译和运行本机代码可能是一场安全噩梦……

请在使用前阅读apple标签的说明。它清楚地标明“请勿使用”。