ane for 9ria_cn

Post on 05-Jul-2015

562 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Ane for 9ria_cn

TRANSCRIPT

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

谢谢!

top related