Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
FlashDevelop-在iOS上加载外部SWF_Ios_Actionscript 3_Flash_Air_Flashdevelop - Fatal编程技术网

FlashDevelop-在iOS上加载外部SWF

FlashDevelop-在iOS上加载外部SWF,ios,actionscript-3,flash,air,flashdevelop,Ios,Actionscript 3,Flash,Air,Flashdevelop,我的应用程序需要用ABC加载外部SWF。我检查了AIR3.7和更高版本中是否有此功能。我设法用最新版本的FD(4.4.3)获得了新的SDK-3.8 现在我关注这个链接: 根据这篇文章,“在IPA打包期间,ADT从所有子SWF中提取ABC代码,将其添加到最终可执行文件中,并在当前工作目录中创建的“ExternalStrippedSWF”文件夹中生成剥离SWF。“ExternalStrippedSWF”中的目录结构文件夹保持与文本文件中指定的相同。生成的剥离SWF应在开发人员选择的web服务器上外部

我的应用程序需要用ABC加载外部SWF。我检查了AIR3.7和更高版本中是否有此功能。我设法用最新版本的FD(4.4.3)获得了新的SDK-3.8

现在我关注这个链接:

根据这篇文章,“在IPA打包期间,ADT从所有子SWF中提取ABC代码,将其添加到最终可执行文件中,并在当前工作目录中创建的“ExternalStrippedSWF”文件夹中生成剥离SWF。“ExternalStrippedSWF”中的目录结构文件夹保持与文本文件中指定的相同。生成的剥离SWF应在开发人员选择的web服务器上外部托管。”

然而,首先,我找不到任何名为“externalStrippedSwfs”的文件夹

其次,即使这样做有效,这意味着每次我有一个新的外部swf要加载时,我都必须将它从代码中剥离出来,放到主swf中,然后上传剥离的swf(带资产)。所以每次我这么做的时候,我都需要把我的应用程序“重新上传”到苹果


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

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

如果我们忽视这一事实,即它很可能不会得到苹果的批准,那么它在技术上就无法工作。原因是Adobe AIR应用程序不包含能够解释.swf中字节码的虚拟机:

在为iOS构建应用程序时,没有解释代码 最终二进制文件中没有运行时。你的申请真是个好消息 本机iOS应用程序

来源:。

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

“externalStrippedSwfs”是任意的(我相信您可以随意命名),您必须在bin中创建该文件夹并从那里运行命令行


看来苹果还没有准备好失去控制……

不幸的是,你的假设是正确的。谢谢你的澄清。谢谢你的回答@mika