uni-app使用iOS原生SDK逻辑和注意事项
最近开发的SDK要提供给客户公司uniapp应用使用,本着写个插件demo就可以了,结果还是耗了小两天。插件开发的主要流程可以参考官网iOS原生插件开发。
开发流程简单总结下就是以下三方面:
1. iOS端制作一个framework或.a插件,然后放在uniapp给你提供的插件开发工程下(和DCTestUniPlugin同目录),在framework或.a里编写功能类。(如果插件内要使用SDK,在插件项目下创建framework目录导入SDK文件,同时引用到build phases->Link Binary with Libraries,然后在插件主体工程引用到build phases->Link Binary with Libraries和Embed Frameworks)
2. uniapp端除了写业务代码,其次就是制作插件包,放到项目的nativeplugins目录下,编写插件包内的package.json文件。然后在manifest.json下的app原生插件页添加插件
3. iOS端插件开发完成后生成framework或.a文件,放入uniapp端插件包ios目录下,如果插件有资源文件放到ios/BundleResources目录下,资源文件不用在package.json内配置,可以直接用。
包含使用的SDK及bundle资源的插件包目录
xcode调试流程(control和Hbuilder-uniPlugin-info文件配置官网都有,不细说):
1. uniapp端 点击 发行->原生App本地打包->生成本地打包App资源 会在unpackage/resources目录下生成当前uniapp项目的appId对应的目录文件。这个目录文件可以理解为uniapp业务代码运行的js文件。
2. iOS 端 在插件开发工程下找到Hbuilder-Hello/Pandora/apps目录,该目录下只能有一个appId对应的目录文件夹,用uniapp端生成的appId目录文件替换掉。
3. 运行插件工程项目。
uniapp端运行时,插件包更新后,最好重新制作自定义基座(点击 运行->运行到手机或模拟器->制作自定义调试基座)。
不难但耗时的问题:
1. 首次调用原生插件方法,会报SDK的某些类里的UI渲染不在主线程,结果导致卡顿,这里要注意下UNI_EXPORT_METHOD_SYNC和UNI_EXPORT_METHOD这两个导出方法的使用。
2. 插件使用的原生SDK内部使用有bundle资源文件,这里如果是xcode开发阶段调试的话,将bundle文件引用到插件主体工程的build phases->copy bundle resources即可。如果是uniapp端运行,在插件包iOS目录下创建BundleResources文件夹,将bundle文件放在该目录下即可。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhifbfhe
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
excel图片置于文字下方的方法
PHP中文网 06-27 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信提示登录环境异常是什么意思原因
PHP中文网 04-09 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
微信人名旁边有个图标有什么用
PHP中文网 03-11