您的位置:首页 > 移动开发 > IOS开发

利用iOS模拟器来检测和调试AIR应用程序

2013-11-26 10:38 706 查看
Adobe AIR 3.3包括支持本机iOS模拟器,并提供一个快速检测和调试iOS应用程序的方法。iOS模拟器是苹果Xcode
IDE的一部分,主要用来为Mac,iPhone和iPad创建应用程序。为了更多地了解iOS模拟器,请参阅使用iOS模拟器。在这个功能之前,唯一在iOS上测试AIR应用程序的方法就是利用一个实际装置和一个苹果的开发认证。现在你不需要取得开发认证(这可能是一个非常耗时的过程)或创建配置文件就可以检测和调试你的AIR应用程序了。一个p12证书,足以证明你的能力。注意,尽管你不再需要开发认证或配置文件来检测和调试,你仍然需要将它们配置到iTunes。你可以参考这个链接来创建一个p12证书。正如这里所描述的,自署名证书也可以利用Flash
Builder来创建。你可以使用相同的自署名证书,用于桌面应用程序。


为iOS模拟器打包应用程序

目前Flash builder不支持iOS模拟器,但你可以利用ADT从命令行里访问它。

iOS模拟器主要基于 x86架构以及两个新加入ADT中的对象:

ipa-test-interpreter-simulator


ipa-debug-interpreter-simulator


为了给iOS模拟器打包应用程序,利用
–package
在命令行上执行ADT并使用
–target
来指定其中一个目标。比如,对于检测注释目标你可以执行下面的:

adt -package -target ipa-test-interpreter-simulator -storetype pkcs12 -keystore Certificates.p12 -storepass password Sample_ipa_name sample_ipa-app.xml
sample_ipa.swf -platformsdk <path to iOS Simulator SDK >


一个通向iOS模拟器SDK的示例路径是 /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk

对于调试注释目标,你可以执行以下命令:

adt -package -target ipa-debug-interpreter-simulator -connect -storetype pkcs12 -keystore Certificate.p12 -storepass password Sample_ipa_name sample_ipa-app.xml
sample_ipa.swf -platformsdk <path to iOS Simulator SDK>


请注意,这个调试目标的命令没有指定IP地址。这是因为模拟器总是在本地机器上启动,因此就不需要IP地址。你可以在这里找到更多关于检测和调试的信息。

还要注意,在为iOS模拟器打包应用程序时,
-platformsdk这里查阅。





安装和启动应用程序

打包好应用程序后,你就可以利用ADT和
–installApp
将它安装到iOS模拟器中,比如:

adt -installApp -platform ios -platformsdk <path to iOS Simulator SDK> -device ios-simulator -package sample_ipa_name.ipa


安装之后,你可以利用ADT和
–launchApp
在iOS模拟器上启动并运行它,比如:

adt -launchApp -platform ios -platformsdk <path to iOS Simulator SDK> -device ios-simulator -appid Sample_ipa_name


这个
appid
值被指定在应用程序描述文件(app.xml)的
<id>
标签中。Flash Builder将
appid
作为应用程序的默认名。

这个应用程序可以直接通过UI来卸载。或者,你可以在命令行中使用
–uninstallApp
来卸载:

adt -uninstallApp -platform ios -platformsdk <path to iOS Simulator SDK> -device ios-simulator -appid Sample_ipa_name


注意:如果你使用ADT卸载了一个程序,它的图标仍然会保留在iOS模拟器中,直到你重新启动模拟器。


测试iOS模拟器中的本地扩展

当你想在iOS模拟器中测试本地扩展时,使用extension.xml 文件中的
iPhone-x86
x86 平台名,并且在
nativeLibrary
元素中指定 library.a(静态库)。一定要使用静态库(.a文件),它是为模拟器编译,而不是静态库为设备编译。

以下是带有这些设置的典型extension.xml:

<extension xmlns=”http://ns.adobe.com/air/extension/3.1“> <id>com.cnative.extensions</id> <versionNumber>1</versionNumber> <platforms> <platform name=”iPhone-x86″>
<applicationDeployment> <nativeLibrary>library.a</nativeLibrary> <initializer>TestNativeExtensionsInitializer</initializer> <finalizer>TestNativeExtensionsFinalizer</finalizer> </applicationDeployment> </platform> </platforms></extension>


为了给iOS模拟器打包一个本地扩展,ADT命令将如下所示:

adt -package -target ane Sample_ane_name extension.xml -swc <path to SWC file> -platform iPhone-x86 library.a library.swf -platformoptions <path to platform
descriptor file>


这里的
-platformoptions
只在需要制定额外链接选项的时候才需要。


下一步阅读方向

更多关于AIR和移动设备的信息请参看为移动设备开发AIR应用。关于本地扩展更多的信息,请参看AIR的本地扩展
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: