首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Adobe Air ios打包程序

Adobe Air ios打包程序
EN

Stack Overflow用户
提问于 2011-08-02 03:15:38
回答 1查看 2.4K关注 0票数 3

在限制取消后,在ios上部署Adobe Air应用程序似乎有很多混乱之处。在苹果取消这些限制之前,你必须通过这里记录的流程:使用iPhone的Packager进行http://blogs.adobe.com/cantrell/archives/2010/09/packager-for-iphone-refresher.html。但现在限制已经解除,Air 2.7更新,我们可以在flex SDK中使用与所有air应用程序相同的ADT工具。

我的理解是,旧的iPhone打包器( Packager for actionscript )在某种程度上是如何将actionscript代码转换成原生的objective C的,以便被苹果接受。

如果这是正确的,那么取消的限制是否意味着ADT工具不会转换到objective C,而只是在创建.ipa应用程序文件时将AS3 .swf和air播放器捆绑在一起?

在苹果取消限制后,Air部署流程到底发生了什么变化?

如果有人能告诉我一些关于.ipa文件是如何在幕后创建的文档,我认为这真的可以澄清一些困惑。

谢谢你的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-02 09:31:58

没有什么真正的改变;苹果刚刚解除了禁令。禁令不仅针对flash创建的应用程序,还针对创建任何类型的中间语言或使用虚拟机等的任何工具。PFI的作用:它实际上使用LLVM编译器将actionscript3字节码(而不是AS3源代码)静态编译成原生ARM汇编。所以从本质上讲,当你部署一个IPA的时候,它和发布SWF到一个exe (在发布设置中)是一样的,因为你的SWF应用程序和flash虚拟机捆绑在一起,不同的是,它不是一个exe,里面的代码是带有在虚拟机上执行的AS3字节码的x86 ASM,它是ARM。PFI及其所有类被简单地合并到ADT工具中。PFI包含一个LLVM,可以通过添加到ASC或actionscript编译器的内部adobe版本的各种LLVM类来访问它。然而,这些LLVM类和其他相关类不是开源的,这是允许adobe做到的,即使ASC是开源的,因为它是在MPL或mozilla公共许可证下获得许可的,这允许在专有的封闭源代码应用程序中使用开源代码,而无需共享您的更改。

为了证明我已经告诉你的一切,只需下载新的flex SDK,其中包括合并了PFI的ADT,您将找到LLVM等。此外,您可以反编译ADT jar并查看所有LLVM类。LLVM类(我相信)通过类GlobalOptimizer截取ASC字节码,或者至少在以前是这样做的……他们可能已经改变了这一点。唯一改变的是,显然Adobe已经对PFI (现在合并到ADT)进行了相当多的优化。更多信息请点击此处:

http://blogs.adobe.com/cantrell/archives/2010/09/packager-for-iphone-refresher.html

http://www.leebrimelow.com/?p=2754

更新

这是一篇Adobe官方文章,证实了我告诉你的事情:

http://www.adobe.com/devnet/logged_in/abansod_iphone.html。我还应该澄清的是,我真的过度简化了幕后的过程,在我看来,我的其中一个观点是错误的。我猜不知何故,PFI实际上将AS3字节码和VM合并到一个无缝的可执行文件中,该文件不使用JIT编译,因此从技术上讲不是虚拟机?在这一点上不确定,但上面的文章似乎暗示了这一点:

“当您为iOS构建应用程序时,最终的二进制文件中没有解释代码和运行时。您的应用程序是真正的本机iOS应用程序。”

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6903202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档