iOS离线打包项目升级5+SDK
来源:互联网 发布:万网域名注册网站 编辑:程序博客网 时间:2024/05/16 01:13
随着iPhone X发布及公司项目需求,目前采用的5+SDK必须面对升级的问题。自从接手该项目来貌似SDK只升级过一次。昨天已经将一个项目升级成2017年11月30日发布的最新SDK,期间遇到了很多问题,最终一一克服,现总结整理下,方便后续再次升级使用。
项目结构
为了升级安全,先将项目备份。
下面开始升级:
(1)替换SDK
用最新SDK文件替换项目中SDK
(2) 将PandoraApi.bundle引入项目,引入时候勾选项如下图:
(3) 将PandoraApi.bundle中feature.plist文件用原来项目中替换,当然如果没有写过插件,应该不需要。
(4)导入inc文件到项目中,打开SDK所在目录,拖动到项目中相应位置,此处,因我原生不会改动,所以设置如下:
(5)修改control.xml中对应的appid等,修改时要注意和www文件中manifest.json文件中对应字段要完全一致,如下图:
(6)导入相应的依赖库,及项目中相关设置,此处注意,下图中红框标注libcoreSupport.a文件一定要导入,否则会报错,当然还有其他库依赖的问题,可以根据提示解决。
(7)根据SDK最新demo,修改本项目中的主控制器中启动5+SDK的相关代码,我的启动位置在ViewController.m中,故更新为最新即可,由于适配了iPhone X有改动,需留意!
(8)到此处,文件配置基本没问题了,现在是不是可以启动应用了呢?哈哈哈,启动下试试吧,~~beng~,呃呃呃,程序是可以启动了,但是卡顿在index页面了,www文件我没有更改,不可能出错啊。用Safari调试后发现,是调用插件地方报错,怎么会这样?升级前是好好的,郁闷中~~~~
(9)最新SDK中注册插件有变动
最新SDK中注册插件不在document.addEventListener(‘plusready’)方法中了,直接注册即可。好程序可以启动了,恭喜��
(10)等等等,啊啊啊啊,报错,搜索了下,个推静态库在模拟机上报错,这个,这个,我只有模拟机,穷的买不起真机测试啊,啊啊啊啊,老板,我要真机,我要iPhone X。。。还是算了,升级个推SDK吧。升级这块在本文中不赘述,后期补充一篇文章,因为需要将本项目中.a静态库替换成个推最新的.frameworks框架了。
(11)血的教训!!!
最新的SDK注册插件不需要document.addEventListener(“plusready”, function(){},true);中注册插件,直接放外面注册就可以了
方法调用最好还是放在plusready事件之后, 是document.addEventListener(‘plusready’) ,不要用mui.plusready,或者直接加一个timeout也可以
(12)原生调用webview方式有变动
原来原生调用webview中需要根据id遍历查找,如下代码:
NSArray *frames = [[[[PDRCore Instance] appManager] activeApp] appWindow].allFrames;for (PDRCoreAppFrame *frame in frames) if ([frame.frameName isEqualToString:@"rmsNews"]){ [frame stringByEvaluatingJavaScriptFromString:@"initChat()"]; } }
改成如下方式即可:
PDRCoreAppWindow *appWindow = [[[[PDRCore Instance] appManager] activeApp] appWindow];PDRCoreAppFrame *frame = [appWindow getFrameByName:@"rmsNews"];//同步[frame stringByEvaluatingJavaScriptFromString:@"initChat()"]; //或者可以用异步[frame evaluateJavaScript:@"initChat()" completionHandler:^(id result, NSError *error) {}];
总结
升级之后,页面自动适配了iPhone X,同时运行流畅度和页面反应速度都有很大提升,感觉5+做的越来越好,虽然苹果在封杀类似这种混合式开发,但是不可否认,存在即合理,希望5+做的越来越好。
- iOS离线打包项目升级5+SDK
- HBuilder HTML 5+ SDK IOS离线打包步骤
- android sdk离线升级方法
- iOS离线打包
- iOS离线打包
- 5+sdk插件开发,并离线打包apk
- iOS中5+SDK项目升级个推静态库.a为.framework
- 升级iOS SDK后如何建立已有项目
- 升级xcode 4.2 ios sdk 5
- 【React Native】iOS离线打包
- 【React Native】iOS离线打包
- Android离线打包 整合HTML5+SDK
- Android Studio离线打包DCloud Html 5+项目
- Android Studio离线打包DCloud Html 5+项目
- HTML 5+ SDK Android平台离线打包分享插件配置 微信分享
- HTML5-离线缓存-升级项目笔记一
- iOS打包SDK生成Framework
- iOS打包SDK生成Framework
- java创建线程的三种方式及其对比
- 我的javascript权威指南-9
- eNSP三层交换机配置-02
- 取消Tomcat post长度限制的方法
- chrome插件 xpath-helper的安装
- iOS离线打包项目升级5+SDK
- node.js异步式IO与事件式编程
- PHP 各版本特性
- MSP430 ADC12采样分析
- docker默认存放以及docker 非root用户
- tensorflow训练神经网络-提取MFCC特征
- Spring mvc数据模型,视图 和 视图解析器
- Cocos2d-x下Lua调用自定义C++类和函数的最佳实践
- VMWARE虚拟机开机失败的一些现象与解决汇总