Download - Ane for 9ria_cn
AIR Native Extensions
for
iOS Adobe 平台技术经理 James Li
前言
AIR 手机应用成功案例
什么是 AIR Native Extensions?
ANE 使你的开发扩展到 原生技术领域
Android SDK iOS SDK
通过 AIR Native Extensions 一切皆有可能
应用内付费 游戏中心 消息推送
开发流程
Define Develop Deploy 定义-开发-部署
Define Develop Deploy 定义-开发-部署
应用 ID 设备 授权 证书
Define
developer.apple.com
应用 ID 设备 授权 证书
Define Develop Deploy 定义-开发-部署
Develop
ActionScript 类库 Objective-C 类库
Develop
ActionScript 类库 Objective-C 类库
AIR SDK 3+ Flash Builder 4.5+
AS3.0 Lib
flash.external.ExtensionContext
创建Extension Context
ext = ExtensionContext.createExtensionContext(“com.adobe.appPurchase”,””);
调用Objective-C API
result = ext.call(“firstContact”,”How are you?”);
添加事件侦听
ext.addEventListener(StatusEvent.STATUS, statusHandler);
Develop
ActionScript 类库 Objective-C 类库
iOS 4+ Xcode 4+
Objective-C Lib
FlashRuntimeExtension
初始化 FRE Context 和 API
FREInitializer FREContextInitializer FREObject
e.g. ExtInitializer e.g. ContextInitializer e.g. firstContact
转换参数类型
FREGetObjectAsInt32 FREGetObjectAsUint32 FREGetObjectAsDouble FREGetObjectAsBool
FREGetObjectAsUTF8(argv[0],&len,&msg);
转换返回值
FRENewObjectFromUTF8 FRENewObjectFromInt32 FRENewObjectFromUint32 FRENewObjectFromDouble FRENewObjectFromBool
向Flash派发事件
FREDispatchStatusEventAsync( ctx, (const uint8_t*)”onContacted”, (const uint8_t*)”I am fine!” );
Define Develop Deploy 定义-开发-部署
Deploy AIR Extensions IPA
AIR Develop Tool
bin/adt -package -storetype pkcs12 -keystore selfsigned.p12 -storepass 1234 -target ane ext/InApp.ane extension.xml -swc ANE_IAP_ASLib.swc -platform iPhone-ARM library.swf libAppPurchase.a
使用ADT打包ANE
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <extension xmlns="http://ns.adobe.com/air/extension/2.5"> <id>com.adobe.appPurchase</id> <versionNumber>1</versionNumber> <platforms> <platform name="iPhone-ARM"> <applicationDeployment> <nativeLibrary>libAppPurchase.a</nativeLibrary> <initializer>ExtInitializer</initializer> <finalizer>ExtFinalizer</finalizer> </applicationDeployment> </platform> </platforms> </extension>
Extension Manifest XML
bin/adt -package -target ipa-test-interpreter -provisioning-profile ghostbride.mobileprovision -storetype pkcs12 -keystore jameslidevelopment.p12 -storepass 1234 Main.ipa info-app.xml ANE_IAP_Example.swf -extdir ext icon
使用ADT打包IPA
<id>com.jamesli.ghostbride</id> <filename>ANE_IAP_Example</filename> <name>ANE IAP Test Example</name> <extensions> <extensionID>com.adobe.appPurchase</extensionID> </extensions> <versionNumber>1.0.0</versionNumber> <initialWindow> <content>ANE_IAP_Example.swf</content> <autoOrients>true</autoOrients> <fullScreen>true</fullScreen> </initialWindow> <icon>„</icon> <iPhone> <InfoAdditions><![CDATA[„]]></InfoAdditions> </iPhone> </application>
Application Manifest XML
实例演示
资源
labs.adobe.com adobe.com/cn/devnet
jamesli.cn weibo.com/papajames
weibo.com/7yue weibo.com/fans8
weibo.com/donglongfei
Flash 3D新浪微群: q.weibo.com/312314
Flash for iOS新浪微群: http://q.weibo.com/419909
谢谢!