那些年,我使用 Cordova 遇到的坑

首先附上几个网址 :

Cordova 官网: http://cordova.apache.org/

框架引入: http://www.jianshu.com/p/656838ae92bc

交互原理: http://www.cnblogs.com/luoguoqiang1985/p/3574738.html

坑1.在使用 Cordova 时, 注意: 自己工程里面的 cordovaLib 和 Cordova.js 要是同一个版本,否则将会发生你意想不到的事情,比如可以调用支付宝客户端,却调不到网页版的支付宝.切记.

坑2.当引入了新的三方库的时候,运行工程并不会发现什么错误,但是在打包的时候,则会报错,说找不到库里的某个头文件,解决办法就是在 targets -> buildSettings -> Head Search Paths 里面添加下面一行代码:

"$ (OBJROOT)/UninstalledProducts/include”

坑3.当报错说 Object - C … xxxx.o 找不到时,往往是 .a 文件没有引入,引入相关的.a 文件就可以了.

坑4.当 h5 调用本地的插件里的支付方法时,本地开始调用支付宝SDK,但是会爆一个错误:

WebKit discarded an uncaught exception in the webView:decidePolicyForNavigationAction:request:frame:decisionListener: delegate: -[__NSDictionaryM objectAtIndex:]: unrecognized selector sent to instance 0x7fab8b252b60

很显然,是把数组的方法,发送给了字典,通过打断点调试的方法,进入 cordova 内部实现里面看 cordova 对参数的处理,发现 cordova 内部是用 数组来接收参数的,由于参数类型不对,当然会调不到支付宝并崩溃,解决办法是让后台把 JSON 数据放到数组里,当然别忘了通知安卓.

5.当 cordova框架正确引入并且正常工作时,会打印:

Apache Cordova native platform version x.x.x is starting.

坑6.当使用模拟器run的时候,会报如下错误:

LaunchServices: ERROR: There is no registered handler for URL scheme xxx

我检查了下 info.plist 文件里的配置是没有问题的,后来发现这句话的意思是 设备上没有安装支付宝的客户端,所以此时会走网页端.

坑7.今天出现了一个 bug , 就是触发事件的时候 iOS 这边会弹窗,而且连续弹好几次,如下图:


后来发现服务器端也引入了 cordova.js 文件,而且和 native 使用的 cordova.js 不是同一个版本,改为了同一版本就 OK 了.而正常的情况下,考虑到还有安卓的存在,服务器端不应引入 js 文件,应该是在本地写入 cordova.js 到服务端,具体写入方法见本文第 9 条.

8.加载 H5页面的 WebViewController 必须继承于 CDVViewController ,如图:

9. 要在 webview 的代理方法 webViewDidFinishLoad 中 让服务端 读入 cordova.js 文件,而且 cordova.js 文件里面的注释要全部删除才能被读入,暂时还不知道要删除注释的原因 ,具体代码如图:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,760评论 25 709
  • 1:如何在Cordoval加载远程的URL网址 在Config.xml配置文件时增加下面两个,便可以打开URL的H...
    XLsn0w阅读 9,203评论 4 2
  • 出生和离世都是每个人必须经历的过程,有欢喜有难过也有不舍。由婴儿到老人,大家能想像过自己到了最后的那段日子会是怎样...
    Puiyi阅读 4,785评论 3 5
  • 热闹的酒吧街,大概只有在这个时候才能有安静,喜欢在安静的静吧里听听音乐,发发呆,享受这难得的机会 西塘一一个越来越...
    会飞的芒果冰阅读 1,801评论 8 1
  • 很偶然地、毫无防备地回到以前读书的大学校园。大学的校园还是和以前那样安静,宜人,另人怀念的校园生活…… 这是第...
    子非飞阅读 2,801评论 0 0

友情链接更多精彩内容