之前就说这个版本会解决可以加载远程的含有代码的swf文件的需求。但是,一直比较好奇这个是否行得通,还以为 Adobe 副总裁去了苹果,内部给了特殊待遇。 因为苹果一直就是不允许远程加载代码的,像js文件都是很危险的。
但是,昨天这个3.7发布后,弄了下。发现这个并不是想象那样。
目前,3.7实现的方式是 在打包ipa的时候,ADT 会对需要外部加载的swf文件进行处理,从中抽取了ABC码打包到ipa中,然后得到一个没有abc码的swf,那么你就把这个swf部署到服务器上。
步骤:
1.建立外部swf描述的txt文件(例如为assets/sample.txt)。格式如下:
assets/ememy.swf
assets/player.swf
2.工程描述文件中增加外部swf描述的txt文件的标签描述
<iPhone>
……….
<externalSwfs>assets/sample.txt</externalSwfs>
</iPhone>
3.目前如果使用这个功能,不能直接使用FlashBuilder打包,需要使用ADT,(具体参考ADT打包),下面提供一个范例:
adt -package -target ipa-app-store -provisioning-profile <Provisioning Profile> -storetype pkcs12 -keystore <Certificate> -storepass <Password> Test.ipa Test-app.xml Test.swf assets/sample.txt assets/player.swf assets/enemy.swf
4.打包完以后,会在命令行的当前目录下生成一个externalStrippedSwfs目录,里面就是经过处理的swf(逻辑ABC码被剥掉的),这些swf可以部署到服务器上,加载就加载这些swf,而不是它们原始的那些swf.
5.目前这个功能只能支持单一程序域,使用Loader进行加载的时候,需要指定LoaderContext的程序域为当前程序域.
externalLoader = new Loader();
externalLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
externalLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,errorHandler);
ldrContext=new LoaderContext(false,ApplicationDomain.currentDomain,null);
externalLoader.load(urlRequest, ldrContext);
6.目前这个功能比较容易导致程序崩溃掉,官方说明,像Flex的swf,资源太大的(例如含有视频的) 都可以令程序崩溃。
具体还可以参考官方的Notes : http://helpx.adobe.com/en/flash-player/release-note/fp_117_air_37_release_notes.html
另外,重点说明几点:
1.只能使用单一的程序域,那么你加载进来的swf之间, 还有这些swf和主程序的swf,不能存在类的全称名(包名+类名) 相同,否则会存在冲突。
2.abc 被抽取出来打包到ipa中,那是否每更新这个远程的swf都要重新打包更新。 这个就取决于你所需要更新的内容是否涉及到代码,如果仅仅是资源的内容更新那是不需要重新打包ipa的,例如图片大小、颜色调整。所以得考虑所更新的内容是否涉及到ABC码。
相关推荐
equinox-SDK-3.7.zip equinox-SDK-3.7.zip equinox-SDK-3.7.zip equinox-SDK-3.7.zip equinox-SDK-3.7.zip equinox-SDK-3.7.zip
DWGdirect\TX_SDK3.7\TXSDK3.7.chm最新版2012/11/1
AIR SDK 文档介绍
AIRSDK32打包报错,替换此文件即可
最新AIRSDK 32.0 官网已经下载不到了
VC代码 rsg2sdk_r4 (实用代码源)VC代码 rsg2sdk_r4 (实用代码源)VC代码 rsg2sdk_r4 (实用代码源)VC代码 rsg2sdk_r4 (实用代码源)VC代码 rsg2sdk_r4 (实用代码源)VC代码 rsg2sdk_r4 (实用代码源)VC代码 rsg2sdk_r4 ...
eclipse-SDK-3.7-win32.zip版种子
AndroidSDK开发范例大全源代码 AndroidSDK开发范例大全源代码 AndroidSDK开发范例大全源代码 AndroidSDK开发范例大全源代码 AndroidSDK开发范例大全源代码
微信小程序demo:SDK.CN(源代码+截图)微信小程序demo:SDK.CN(源代码+截图)微信小程序demo:SDK.CN(源代码+截图)微信小程序demo:SDK.CN(源代码+截图)微信小程序demo:SDK.CN(源代码+截图)微信小程序demo:SDK.CN(源...
海康威视x86 SDK加载文件,主要包含海康威视二次开发中需要加载的头文件和库文件,免去了下载官网SDK大包的麻烦
淘宝SDK模块代码 底部悬浮代码 淘宝SDK模块代码 底部悬浮代码
把大图按照配置切成若干张小图,界面简陋,只实现功能,项目需要AIR SDK3.7
资源来自pypi官网。 资源全名:uforge_python_sdk-3.7.5_RC1-py2.6.egg
以下是对Scala-SDK、向日葵(远程工具)和阿里Java代码规范的简单介绍: 1. Scala-SDK:Scala-SDK是一种用于开发Scala语言的软件开发工具包。Scala是一种现代的多范式编程语言,结合了面向对象编程和函数式编程的...
利用WINDOWS SDK编写的远程协助程序,使用代码加密,数据加密,图片数据BMP转为JPEG,文件上传下载, 自画控件
2012年10月1日ODA组织的最新SDK3.7
python库。 资源全名:uforge_python_sdk-3.7.0.6_RC1-py2.6.egg
资源分类:Python库 所属语言:Python 资源全名:uforge_python_sdk-3.7.1.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Eclipse sdk中查看jar源代码的方法.doc
这是博客中代码的exe文件。因为源程序文件中资源种类太多,所以直接打包成exe。