(IOSNative插件扩展机制1.1.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(IOSNative插件扩展机制1.1

Native插件扩展机制功能描述:Native插件机制,是指针对native 开发者封装将具有特定功能但是平台没有封装的接口,封装成js调用Native功能,然后通过js扩展接口调用,以达到功能扩展的目的。IOS SDK主要包括静态库,头文件,图片资源,js文件,插件配置xml,widget文件夹等等。详细描述:静态库libAppCan.a本静态库是利用appcan平台扩展native plugin的基础。头文件包括以下五个:WidgetOneDelegate.h封装了uiApplicationDelegate以及平台部分扩展需要的接口,直接继承即可;EUExBase.h:封装用JS调用扩展native plugin的父类,需要继承,EUtility.h:平台封装的开发者在开发插件过程中有可能用到的调用appcan平台的方法;widgetOnePseudoDelegate.h:appcan提供的插件模板开发应用入口;widgetOnePseUdoDelegate.m图片资源(img文件夹)img文件夹加下的图片;(文件夹引入的时候必须选择创建文件夹即)error错误页(error文件夹)error文件夹下存放网页访问错误时候显示的界面,必须拷贝到资源下,如果想定制自己的可以替换文件夹下资源但是不能修改文件名称,有可能导致文件找不到,加载方式同图片资源平台引擎js文件夹(uex文件夹)uex文件夹下存放平台封装的内部调用的js 文件,不可修改,加载方式同图片资源;plugin.xmlplugin.xml 文件位于顶级目录下,是配置js调用方法的xml文件,如果需要开发natvie plugin,必须加载;widget 文件夹widget 文件夹为网页包,默认有config.xml 文件,基本数据已经默认填写,开发者只需修改部分参数即可,切勿删除config.xml 文件,widget文件也必须加载到工程中;配置工程新建一个工程,导入libAppCan.a,在target中配置库文件位置,如图:动态加载,需要配置others linker flags为 -ObjC2.导入头文件,主要包括widgtOneDelegate.h,EUExBase.h,EUtility.h,还有WidgetOnePseudoDelegate.h,WidgetOnePseudoDelegate.m文件,封装了uiApplictionDelegate协议,在target 中配置头文件位置;如图:3.加载资源,主要包括img文件夹,error文件夹,uex文件夹,widget文件夹,plugin.xml文件切记在引入资源的时候是文件夹4.配置main.m 设置启动为“WidgetOnePseudoDelegate”5.配置plist 文件项主要包括以下:AppCanMode 设置为 NO ,如果设置为YES,则为开发版本widgetone_version设置为URL styles 设置如图,最后一个选项可以自定义,但必须设置以便于调用支付宝可以返回;6.配置平台用到的framework由于平台用到了three20 封装了图片浏览器插件,所以还需要加载three20.bundle;配置完以上就可以直接编译,运行,检查是否报错;clean方法扩展对象的内存,需要在clean()方法中释放Samples描述通过 网页中调用native plugin 的开发流程:配置plugin.xml 配置js调用方法,这里只需关心调用对象,调用方法,以及属性赋值;demo如下:plugin name: 为封装的js对象的名称,以uex-前缀开头,其余为对象命名;property name: 初始化 对象的部分属性,以及填写属性赋值,如果属性值为空,则写null,否则不与生成;method name: 为对象方法;赋值为空,不需要填写EUEx-Js对象主要注意一下事项:1).类的命名规范:EUEx+对象名称对象名称大小写跟配置在plugin.xml中的plugin name的去掉uex前缀的对象名称;例如EUExDemoObject类2).方法命名规范:跟在plugin.xml中配置的 method name 大小写相同;传参统一用nsmutableArray实例按顺序获取;例如,open,close,share等等,如下图所示:EUExBase.hEUExDemoObject.h3)其他方法:InitWithBrwView 初始化EUEx-对象;clean, 是平台封装的调用方法,把一些与当前网页有关的内存等等在切换网页的时候释放掉4).Native代码实现根据自己的需求实现相应的功能谈后调用平台封装的接口调用js,回调可以按照demo 中的格式命名,也可按自己的习惯命名,例如

文档评论(0)

yyf7373 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档