Adobe AIR的IOS打包 [英] Adobe Air ios packager

查看:465
本文介绍了Adobe AIR的IOS打包的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

似乎有关于部署的Adobe AIR应用到iOS的限制被取消后,很多困惑。苹果之前解除了限制,你必须要经过这里记录的过程:的http://blogs.adobe.com/cantrell/archives/2010/09/packager-for-iphone-refresher.html使用的Packager for iPhone。但现在的限制已经取消,航空2.7更新,我们可以使用我们所有的AIR应用程序使用Flex SDK相同的ADT工具。

There seems to be a lot of confusion regarding deploying Adobe Air apps to ios after the restrictions were lifted. Before apple lifted the restrictions you had to go through the process documented here: http://blogs.adobe.com/cantrell/archives/2010/09/packager-for-iphone-refresher.html using the Packager for iPhone. But now that the restrictions have been lifted and the Air 2.7 update we can use the same ADT tool in the flex SDK that we use with all air applications.

我的理解是,旧的Packager for iPhone(PFI)一些如何转换的动作code到本地目标C,以被苹果接受的。

My understanding is that the old Packager for iPhone (PFI) some how converted actionscript code into native objective C in order to be accepted by apple.

如果这是正确的并限制被取消意味着ADT工具不转换成目标C和创建应用程序的.ipa文件时只捆绑AS3瑞士法郎和空气的球员在一起吗?

If that is correct does the restrictions being lifted mean that the ADT tool is not converting to objective C and is only bundling the AS3 .swf and air player together when creating the .ipa app file?

在什么空中部署过程正是更改后的苹果解除了限制?

What exactly changed in the Air deployment process after apple lifted its restrictions?

如果任何人都可以点我就如何.ipa文件被身后,我认为这将真正清楚一些混乱场面创造了一些文件。

If anyone could point me to some documentation on how the .ipa file is being created behind the scenes I think this would really clear some confusion.

感谢您的帮助

推荐答案

真的没什么改变;苹果刚刚解禁。这项禁令并非仅仅针对闪存创建的应用程序,它是在创建任何类型的中介语言或使用的虚拟机,等什么PFI做任何工具:它实际上使用了LLVM编译器来编译静态动作3 BYTE code(不AS3源)为本地ARM汇编。所以基本上,当你部署IPA它是相同的想法发布的SWF到exe文件(如发布设置),在这个意义上,无论你的SWF应用程序和Flash虚拟机捆绑在一起,但而不是被一个exe其中code里面的x86 ASM与AS3字节code沿虚拟机执行,这是ARM。该联谊会及其所有类被简单地合并到ADT工具。 PFI的包含其通过加入到该内部土坯版本ASC或动作编译器,各种LLVM java类访问的LLVM的DLL。这些LLVM类和其他相关类,但是,是不是开源的,这Adobe是允许这样做,即使ASC是开源的,因为它是在MPL或Mozilla公共许可协议,它允许使用的开源$ C牌照$ C专有闭源应用,而无需共享您的更改。

Nothing really changed; apple just lifted the ban. The ban wasn't just on flash-created apps, it was on any tool that created any kind of intermediary language or used a virtual machine, etc. What the PFI does: it actually uses the LLVM compiler to statically compile actionscript 3 BYTECODE (not AS3 source) into native ARM assembly. So essentially when you're deploying an IPA it's the same idea as publishing a SWF to an exe (as in the publish settings) in the sense that both your SWF application and the flash virtual machine are bundled together, except instead of being an exe where the code inside is x86 ASM with AS3 bytecode executed along the VM, it's ARM. The PFI and all its classes were simply merged into the ADT tool. The PFI contained a LLVM dll which is accessed through various LLVM java classes that were added to the internal adobe version of the ASC or actionscript compiler. These LLVM classes and other associated classes, however, are not open source, which adobe is allowed to do, even though the ASC is open source because it's licensed under the MPL or mozilla public license, which permits the use of the open source code in proprietary closed source applications without sharing your changes.

对于这一切我已经告诉过你的证明,只需要下载新的Flex SDK,其中包括ADT与PFI的合并,你会发现LLVM dll的等等。此外,你可以反编译的ADT罐子并浏览所有LLVM的类。 LLVM的类(我相信)拦截ASC字节code通过类GlobalOptimizer,或至少它确实早在一天...他们可能已经改变了这一切。已更改的唯一的另一件事是,显然,Adobe已经优化了PFI(现并入ADT)不少。更多资讯:

For proof of all that I've told you, just download the new flex SDK that includes the ADT with the PFI merged in and you'll find the LLVM dll's etc. Further, you can decompile the ADT jar and see all the LLVM classes. The LLVM classes ( I believe ) intercept the ASC bytecode through the class GlobalOptimizer, or at least it did back in the day... they've probably changed that. The only other thing that has changed is that apparently Adobe has optimized the PFI (now merged into ADT) quite a lot. More info here:

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

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

更新

下面是Adobe官方确认的文章我已经告诉你的事:

Here is an official Adobe article confirming the things I've told you:

http://www.adobe.com/devnet/logged_in/abansod_iphone.html 。我也应该澄清,我真的过于简单化的过程中幕后,似乎我错了,在我点之一。我想以某种方式PFI实际上融合了的AS3字节code与VM成一个无缝的可执行文件,不使用JIT编译,所以并没有在技术上是虚拟机?不知道在这一点上,但上面的文章似乎在暗示这样的:

http://www.adobe.com/devnet/logged_in/abansod_iphone.html. I also should clarify that I've really over-simplified the process behind the scenes and appear to me mistaken in one of my points. I guess somehow the PFI actually merges the AS3 bytecode and the VM into a single seamless executable that doesn't use JIT compilation, and thus would technically not be a virtual machine? Not sure on that point, but the above article does seem to imply this:

当你建立你的应用程序为iOS,没有跨preTED code,并在您最终的二进制没有运行。您的应用程序是一个真正的原生iOS应用。

"When you build your application for iOS, there is no interpreted code and no runtime in your final binary. Your application is truly a native iOS app."

这篇关于Adobe AIR的IOS打包的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆