ios - Adobe Air ios 打包程序

标签 ios actionscript-3 mobile air adobe

在解除限制后,将 Adob​​e Air 应用程序部署到 ios 似乎存在很多困惑。在 Apple 取消限制之前,您必须完成此处记录的过程:http://blogs.adobe.com/cantrell/archives/2010/09/packager-for-iphone-refresher.html使用 iPhone 打包程序。但是现在限制已经解除并且 Air 2.7 更新了,我们可以在 flex SDK 中使用我们用于所有 air 应用程序的相同 ADT 工具。

我的理解是旧的 Packager for iPhone (PFI) 如何将 actionscript 代码转换为 native objective-c 以便被苹果接受。

如果这是正确的,解除限制是否意味着 ADT 工具没有转换为 objective-c ,而只是在创建 .ipa 应用程序文件时将 AS3 .swf 和 air player 捆绑在一起?

苹果解除限制后,Air部署过程到底发生了什么变化?

如果有人可以向我指出一些关于如何在幕后创建 .ipa 文件的文档,我认为这确实会消除一些困惑。

感谢帮助

最佳答案

没有真正改变;苹果刚刚解除禁令。该禁令不仅适用于闪存创建的应用程序,还适用于创建任何类型的中间语言或使用虚拟机等的任何工具。PFI 的作用:它实际上使用 LLVM 编译器静态编译 actionscript 3 BYTECODE (非 AS3 源代码)转换为原生 ARM 程序集。因此,从本质上讲,当您部署 IPA 时,它与将 SWF 发布到 exe(如在发布设置中)的想法相同,因为您的 SWF 应用程序和闪存虚拟机都捆绑在一起,除了不是 exe其中的代码是 x86 ASM,其中 AS3 字节码沿着 VM 执行,它是 ARM。 PFI 及其所有类都简单地合并到 ADT 工具中。 PFI 包含一个 LLVM dll,可通过添加到 ASC 或 actionscript 编译器的内部 adobe 版本的各种 LLVM java 类访问该 dll。然而,这些 LLVM 类和其他相关类不是开源的,而 adobe 是允许这样做的,即使 ASC 是开源的,因为它是根据 MPL 或 mozilla 公共(public)许可证获得许可的,这允许在专有闭源应用程序,无需共享您的更改。

为了证明我告诉你的一切,只需下载新的 flex SDK,其中包含合并了 PFI 的 ADT,你会发现 LLVM dll 等。此外,你可以反编译 ADT jar 并查看所有内容LLVM 类。 LLVM 类(我相信)通过类 GlobalOptimizer 拦截了 ASC 字节码,或者至少它在当天做了......他们可能已经改变了这一点。唯一发生变化的是 Adob​​e 显然对 PFI(现已合并到 ADT)进行了很多优化。更多信息在这里:

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

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

更新

这是一篇 Adob​​e 官方文章,证实了我告诉您的事情:

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

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

关于ios - Adobe Air ios 打包程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6903202/

相关文章:

ios - 如何正确加载依赖的 tableViewCell API 数据?

ios - iPhone手机号码格式NSFormatter

actionscript-3 - 如何在 AS3 中引用动态实例化对象? (在舞台上添加了 Moviclip)

flash - 预加载器大小指南

css - 最大宽度菜单有问题

iOS 11 在关闭浏览器时删除所有 cookie

ios - 使用 MVP 模式 iOS 将数据传递给另一个 Controller

java - AS3 无法从 Java 发送的套接字中解码 AMF3 对象

java - 在手机上删除或卸载midlet应用程序时如何询问确认提示?

手机上的 JavaScript keydown