将 AS3/Flex 应用程序移植到 iPhone
我相信像 CS5 这样的 Adobe 工具有办法输出为 iPhone 应用程序,但是常规的 AS3 或 Flex 项目呢?有没有自动移植的工具,或者 AS3/Flex iPhone 实现?
出于兴趣,CS5 是如何工作的?这是一个完全不同的代码路径还是不太激烈的东西?例如,Flash 支持形状和时间轴等...它们实际上提供某种 iPhone Flash 运行时吗?
I believe Adobe tools like CS5 have ways to output as an iPhone app, but what about a regular AS3 or Flex project? Are there any tools to auto-port, or AS3/Flex iPhone implementations out there?
Out of interest, how does the CS5 thing work? Is it a totally different code-path or something less drastic? For instance Flash supports Shapes and Timelines, etc... do they in fact provide an iPhone Flash runtime of some sort?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
iPhone 的 Packager 是您应该尝试的:
http://labs.adobe.com/technologies/packagerforiphone/
我想它仍然是测试版,但尝试并没有什么坏处。它还有一个独立版本(不需要 CS5)。
Packager for iPhone is what you should try out:
http://labs.adobe.com/technologies/packagerforiphone/
I guess its still a beta, but doesn't hurt in trying. It also has a standalone version (without the need of CS5).
实际上它仍然是 Flash 运行时,就像您在发布设置中导出 .exe 一样(不是 AIR 本机 EXE,只是投影仪 exe)。它获取 flash VM 和您的源代码,将您的源代码和 flash vm 编译成一个可执行文件。它只是编译为 ARM。该可执行文件内仍然运行着闪存运行时,并且您的字节码仍在针对它执行。所以虚拟化本质上仍在发生。您说它是“本机”汇编代码是对的,但它与“本机”应用程序相去甚远。
Actually it is still the flash runtime, the same way that when you export a .exe in the publish settings (not an AIR native EXE, just a projector exe). It grabs the flash VM, and your source code, compiles your source and the flash vm wrapped up together into a single executable. It's just compiled down to ARM. There is still the flash runtime running inside that executable and your bytecode is still being executed against it. So virtualization is still essentially taking place. You're right in saying it's "native" assembly code but it's a far cry from a "native" application.
关于它是如何工作的,它不是一个Flash运行时,而是一种编译方式ActionScript 到本机 ARM 汇编代码,通过 LLVM。
编辑:另请参阅杰西·尼科尔森的回答。
Regarding how it works, it is not a Flash runtime, but a way to compile ActionScript to native ARM assembly code, via LLVM.
Edit: also see Jesse Nicholson's answer.