首页 > 代码库 > ANE-IOS与AS的互通

ANE-IOS与AS的互通

从AS调用IOS的函数与传参数

extContex是ExtensionContext的实例,通过call调用。第一个参数是IOS对应的函数,之后所有的参数会变成一个数组传入IOS中。也就是说函数名称后面可以是一个可变数组。例如:

extContex.call("setVolume",参数1,参数2,参数3);

IOS中

FREObject setVolume(FREContext ctx, void* funcData, uint32_t argc, FREObject argv[]){  //argv[]接收到的就是AS传过来的参数  //argv[0]对应参数1,argv[1]对应参数2,argv[2]对应参数3  return NULL;}

 

从IOS中往AS抛事件是这样的

FREDispatchStatusEventAsync(eventContext, eventCode, dataCode);
eventContext:是as传过来的FREContext
eventCode:对应的是AS中的StatusEvent中的code
dataCode:对应的是AS中的StatusEvent中的level
eventCode我们可以用来传送一个字符串类型的标识符,在AS中接收到StatusEvent.STATUS事件后,用拿来判断做什么处理,例如:
protected function onStatus(event:StatusEvent):void{  switch(event.code)  {    case "阿西吧":      trace("他在说韩国鸟语");      break;    case "草泥马":      trace("这是中国神兽");      break;  }}
dataCode我们可以用来携带从原生返回的数据,比如xml数据,json数据,或者有分隔符的字符串"a|b|c|d"。有分隔符的字符串最终能用splite("|")转成数组。这样我们就完成了从原生到AS的回调与数据传输