来源:http://bbs.9ria.com/thread-102038-1-1.html

上一章,我已经介绍了如果创建IOS库文件,并定义了两个方法ShowIconBadageNumber和InitNativeCode。好了。这一篇,我们主要来学习一下,如果创建Flex库项目。
(小提示,要安装Flash Builder4.6的时候,要把以前的Flash BUilder4.5卸载,不然会造成安装不成功的。)
1,打开安装好的Flash Builder 4.6 Prelease,创建一个Flex库项目。(小提示,这里建议用SDK4.5.1.不要用4.6.因为本人在发展用4.6的时候打包ANE有点问题。)
     (在配置一项确保选中的是通用库(适用于Web,桌面和手机项目),Flash SDK选4.5.1.如果安装好后没有。请去opensource.adobe.com下载一下该SDK)

2,OK,创建好之后,新建一个类文件,用来供后面的测试ANE可用。我们这里为了测试之前在Xcode定义的两个方法,内容如下:

  1. package com.coolexp
  2. {
  3. import flash.external.ExtensionContext;
  4. public class ANELibUtils
  5. {
  6. private static var extContext:ExtensionContext = null;
  7. public function ANELibUtils()
  8. {
  9. if (!extContext)
  10. {
  11. initExtension();
  12. }
  13. }
  14. public static function showBadageNum(num:int):int{
  15. if (!extContext)
  16. {
  17. initExtension();
  18. }
  19. return int(extContext.call("ShowIconBadageNumber",num));
  20. }
  21. //Initialize the extension by calling our "initNativeCode" ANE function
  22. private static function initExtension():void
  23. {
  24. trace ("Vibration Constructor: Create an extension context");
  25. // The extension context's context type  is NULL, because this extension
  26. // has only one context type.
  27. extContext = ExtensionContext.createExtensionContext("com.coolexp.ANELib", null);
  28. //com.coolexp.ANELib这里我们用这个ExtensionID,确保后面在打包ANE文件的时候一致就可以了。
  29. extContext.call("initNativeCode");
  30. }
  31. }
  32. }

复制代码

3,OK,Build项目,会生成一个SWC后缀后的文件,复制一份出来,把SWC改成ZIP,解压,里面有一个XML文件,一个SWF文件,复制出来。各用。再把SWC文件也复制出来,备用。

4.新建一个extension.xml的文件,内容如下:
(如果下面的com.coolexp.ANELib,要跟上面的AS类文件里一致,libCoolExpLibANEIOS.a. 就是我们第一篇文章里得到文件)

  1. <extension xmlns="http://ns.adobe.com/air/extension/2.5">
  2. <id>com.coolexp.ANELib</id>
  3. <versionNumber>1</versionNumber>
  4. <platforms>
  5. <platform name="iPhone-ARM">
  6. <applicationDeployment>
  7. <nativeLibrary>libCoolExpLibANEIOS.a</nativeLibrary>
  8. <initializer>ExtInitializer</initializer>
  9. <finalizer>ExtFinalizer</finalizer>
  10. </applicationDeployment>
  11. </platform>
  12. </platforms>
  13. </extension>

复制代码

5.OK,这部分到此就OK了。

下面是Actionscript Library的项目下载地址:   <ignore_js_op> CoolExpANELib.fxpl.zip (2.22 KB, 下载次数: 194)

[AIR] NativeExtension在IOS下的开发实例 --- Flex库项目的创建(二)的更多相关文章

  1. [AIR] NativeExtension在IOS下的开发实例 --- IOS项目的创建 (一)

    来源:http://bbs.9ria.com/thread-102037-1-1.html 最近看到本版块的很多关于NativeExtension的应用.但是都是在Android下面的应用.也有很多朋 ...

  2. [AIR] NativeExtension在IOS下的开发实例 --- 新建项目测试ANE(四)

    来源:http://bbs.9ria.com/thread-102043-1-1.html 通过前面的努力,好了,我们终于得到了一个ANE文件了.下面我们开始新建一个Flex Mobile项目做一下测 ...

  3. [AIR] NativeExtension在IOS下的开发实例 --- ANE文件的打包(三)

    来源:http://bbs.9ria.com/thread-102041-1-1.html 好了,前面的准备工作做的差不多了.此时我们应用有下面几个文件:extension.xml    CoolEx ...

  4. iOS下OpenCV开发用OC还是Swift

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 其实标题中这个问题并不准确,准确的说法应该是iOS下的OpenCV开发是使用OC还是Swift ...

  5. iOS下OpenCV开发配置的两个常见问题(sign和link)

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 先上可以运行官方推荐的<OpenCV for iOS samples>的demo链 ...

  6. Android studio 下 JNI 开发实例

    在AS中进行 NDK 开发之前,我们先来简单的介绍几个大家都容易搞懵的概念: 到底什么是JNI,什么是NDK? 何为“交叉编译”? 先看什么是 JNI?JNI 的全称就是 Java Native In ...

  7. 免费的HTML5连载来了《HTML5网页开发实例详解》连载(二)

    最近新浪.百度.腾讯.京东.大众点评.淘宝等流行的网站都加大了招聘HTML5的力度,HTML5开发人员成了抢手货,本次连载的是由大众点评前端工程师和一淘网前端工程师基情奉献的<HTML5网页开发 ...

  8. iOS组件化开发一pod库包含MRC的文件处理(五)

    在做项目的过程中,建立了一个私有pod库,在这个库中存在mrc类文件这个时候如果在使用了arc的工程中引用这个pod的工程中手动设置当然也可以就是费时费力.现在我们来看看如何在私有库配置文件里配置自动 ...

  9. iOS组件化开发-发布私有库

    远程索引库 将远程索引库添关联到本地 pod repo 查看本地已关联仓库源 pod repo add 本地索引库名称 远程索引库仓库地址 pod repo update 索引库名称 pod repo ...

随机推荐

  1. InvalidSelectorError: Compound class names not permitted报错处理

    InvalidSelectorError: Compound class names not permitted报错处理 环境:python3.6 + selenium 3.11 +  chromed ...

  2. java里的数组和list分别在什么情况下使用?

    数组长度固定,List未限定长度,且支持的功能更多,最常用的ArrayList底层实际上也是使用数组实现. 不需要复杂功能和确定长度的情况下,使用数组效率更高,通常情况建议使用List.

  3. Ingress-nginx 部署使用

    Ingress-nginx 部署使用   一.Ingress 简介 在Kubernetes中,服务和Pod的IP地址仅可以在集群网络内部使用,对于集群外的应用是不可见的.为了使外部的应用能够访问集群内 ...

  4. 010 @ControllerAdvice

    一:说明 1.说明 这个注解是用于写一个异常捕获的处理类. 这里介绍全局捕获异常,自定义异常捕获 2.ps 在这里,顺便写一下基础的自定义异常类,以后方便用于业务异常继承 二:全局异常捕获 1.处理类 ...

  5. 如何打开uboot的函数debug()的开关,输出更多调试信息?

    答: 有两种方法: 一. 方法一 在文件<file>.c的首行加入以下内容: #define DEBUG #undef CONFIG_LOGLEVEL #define CONFIG_LOG ...

  6. 025_Excel知识汇总

    一.Excel相对引用和绝对应用的区别 加上了绝对地址符“$”的列标和行号为绝对地址,在公式向旁边复制时不会发生变化,没有加上绝对地址符号的列标和行号为相对地址,在公式向旁边复制时会跟着发生变化. 具 ...

  7. jenkins报错Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password) 的处理

    问题背景:jenkins服务器发布代码后需要执行删除缓存的操作ssh -p222 eus_pe_devadmin@1.1.1.1 "sudo rm -rf /dev/shm/nginx/hi ...

  8. Layui 点击查询分页,页码不刷新解决方法

    Layui 点击查询分页,页码不刷新解决方法 function queryDataGrid() { layui.table.reload(tableName, { where: { //设定异步数据接 ...

  9. postgrelsql 的 wm_concat : string_agg

    string_agg,array_agg 这两个函数的功能大同小异,只不过合并数据的类型不同 array_agg(expression) 把表达式变成一个数组 一般配合 array_to_string ...

  10. [LeetCode] 282. Expression Add Operators 表达式增加操作符

    Given a string that contains only digits 0-9 and a target value, return all possibilities to add bin ...