2013-09-30 30 views
0

我的应用程序需要使用ABC加载外部swfs。我检查了此功能在AIR 3.7及更高版本中可用。我设法使用最新版本的FD(4.4.3)获得新的SDK-3.8。FlashDevelop - 在iOS上加载外部swfs

现在我下面这个链接:http://blogs.adobe.com/airodynamics/2013/03/08/external-hosting-of-secondary-swfs-for-air-apps-on-ios/

根据这篇文章,“在IPA包装,ADT提取从所有子SWF文件的ABC代码,将其添加到最终的可执行文件,并在产生剥离主权财富基金“externalStrippedSwfs “文件夹,”externalStrippedSwfs“文件夹中的目录结构保持与文本文件中指定的相同,生成的被剥离的SWF文件应该在开发人员选择的Web服务器上进行外部托管。

但是,首先,我找不到任何这样的名为“externalStrippedSwfs”的文件夹。

其次,即使这个工作,这意味着每次我有一个新的外部swf加载,我将不得不剥离代码,把它放在主要瑞士法郎,然后上传剥离瑞士法郎(与资产)。所以每次我这样做,我都需要将我的应用“重新上传”到Apple。

这些假设是正确的吗?我的应用程序架构需要相应修改。

+0

不幸的是,你的假设是正确的。 – 2013-09-30 14:18:27

回答

2

是的,你的假设是正确的:你不能加载包含AS3的外部.swf并让应用程序执行字节码。

如果我们忽略了它很可能不会被Apple批准的事实,它在技术上无法工作。究其原因是因为Adobe AIR的应用程序不包含能在瑞士法郎解释字节码的虚拟机:

当你建立你的iOS应用程序,也没有解释代码 并没有运行时你的最终二进制。您的应用程序确实是一个 本机iOS应用程序。

来源:http://www.adobe.com/devnet/logged_in/abansod_iphone.html

+0

感谢您的澄清。 –

0

你可以做到! :)你只需要升级到AIR SDK3.8 +并按照痛苦的过程。 唯一的限制是,您将在运行时加载的每个外部swif必须由ADT剥离。 但是你是对的:每当你的外部内容需要更新时,你都需要更新你的应用程序。

“externalStrippedSwfs”是任意的(根据你的意愿命名,我相信),你必须在你的bin中创建该文件夹并从那里运行命令行。

看起来苹果并没有准备好失去皮带......

+0

感谢您的答案@mika –