AIR for iOS 开发杂记
以下步骤是开发用于 iOS 的 AIR 应用程序的典型步骤:
- 安装 iTunes。
- 在 Apple iOS Provisioning Portal 上生成必需的开发人员文件和 ID。这些项目包括:
- 开发人员证书
- 应用程序 ID
- 供给配置文件
- 在创建供给配置文件时,必须列出您计划要安装应用程序的任意测试设备的 ID。
- 将开发证书和私钥转换为 P12 keystore 文件。
- 编写应用程序 ActionScript 或 MXML 代码。
- 利用 ActionScript 或 MXML 编译器编译应用程序。
- 创建应用程序的图标图片和初始屏幕图片。
- 创建应用程序描述符(使用 2.6 或更高版本的命名空间)。
- 使用 ADT 对 IPA 文件打包。
- 使用 iTunes 将您的供给配置文件放置在您的测试设备上。
- 在您的 iOS 设备上安装和测试应用程序。您可以使用 iTunes 或通过 USB 使用 ADT(AIR 3.4 和更高版本支持 USB)来安装 IPA 文件。
您的 AIR 应用程序一经完成,您可以使用分发证书和供给配置文件重新对其进行打包。然后,就可以将其提交到 Apple 应用程序库。
Command-Line
安装 / 卸载 ipa
bin/adt -uninstallApp -platform ios -device [设备 ID] -appid [应用 ID]
bin/adt -installApp -platform ios -device [设备 ID] -package [IPA 路径]
获取设备 ID
lib/aot/bin/iOSBIN/idb -devices
API
iOS 上不支持 nativeApplication.exit(),但 Android 支持。
iOS 上不支持 NetworkInfo,要 通过 ANE 实现
File 目录常量在 iOS 下的对应路径(参考:AIR for iOS のFileクラスで参照できる領域)
Constant | Path |
---|---|
File.applicationDirectory | /var/mobile/Applications/[uniqueID]/[filename].app |
File.applicationStorageDirectory | /var/mobile/Applications/[uniqueID]/Library/Application Support/[appID]/Local Store/ |
File.desktopDirectory | /var/mobile/Applications/[uniqueID]/Desktop/ |
File.documentsDirectory | /var/mobile/Applications/[uniqueID]/Documents/ |
File.userDirectory | /var/mobile/Applications/[uniqueID]/ |
File.createTempDirectory() | /var/mobile/Applications/[uniqueID]/tmp/FlashTmp0/ |
File.cacheDirectory (AIR 3.6+) | [APPLICATION_HOME]/Library/Caches |
如何让 AIR APP 遵循 iOS 数据储存指引
如何避免 iOS 上自动云备份
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>my-scheme</string>
</array>
<key>CFBundleURLName</key>
<string>com.myapp</string>
</dict>
</array>
NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, onInvoke);
private function onInvoke(event:InvokeEvent):void
{
trace("Arguments: " + event.arguments);
}
Multiple Screen Sizes
Adobe AIR 针对 Retina 屏幕的分辨率设定问题
Excluding Devices From Requested Display Resolution Mode
兼容 1024x768, 让 iPad Retina 自动的放大整个程序 2 倍:
<requestedDisplayResolution>standard</requestedDisplayResolution>
AIR3.6 之后支持新属性:
<requestedDisplayResolution excludeDevices="iPad">high</requestedDisplayResolution>
详细 Model Identifier 请参考 iOS 设备列表
为多种屏幕尺寸编写移动 Flash 内容 (重要)
在 Adobe AIR 中为不同屏幕尺寸的多种设备提供支持
专为多设备、多分辨率应用而设计
Configurations
APP 图标大小: 29x29, 48x48, 50x50, 57x57, 58x58, 72x72, 100x100, 114x114, 144x144, 512x512, 1024x1024, 40x40, 76x76, 80x80, 120x120, 152x152 (AIR3.9+)
设置移动应用程序属性 (Setting mobile application properties)
AIR 应用程序描述符文件 (AIR Application Descriptor File)
创建程序偏好设置 (Create a Settings Bundle) - 方法详见《iOS Development with Flash》第 16 章内容,以及使用 相关辅助代码
FlashBuilder4.7 的 AIR SDK 升级方法
Step 4. Don’t copy all contents from the aot folder, just copy strip from lib\aot\bin to the aot bin folder of the newly created AIR SDK 3.6 (AIRSDK\lib\aot\bin).
Packaging a native extension 打包 AIR 原生扩展 (ANE) (注意事项待补)
20 tips for creating Air Native Extensions for iOS
Debugging
通过 AIR3.3 实现 AIR 应用在 iOS 设备上的 USB 调试
不使用 ASC2.0 让 SWF 支持 Adobe Scout 的性能分析。使用 SWF Scout Enabler 工具即可。