cordova iOS 下插件的使用遇到的问题和解决方法

前段时间调试了一个Android平台的Cordova应用,已经上线使用,感觉IOS下应该只需要打包上传app store就可以了,
但是现实总是很无情,模拟器调试都好好的,到了真机调试就问题不断,我也是呵呵了,进过几天的折腾,需要趁热赶紧
总结一下,免得以后又走弯路,也给大家一点参考资料,每个人的环境不尽相同,我写的也只能参考,不能保证在你的
系统下按这个方法就可以解决问题:
-----------------------------
先说第一个问题:
插件安装:
我按之前的安卓版本的插件安装方法:


cordova plugin add <cordova-plugin>   


Xcode下提示:Plugin not found, or is not a CDVPlugin 没有在config.xml中添加任何东西后经落实 命令需要加--save 参数:


cordova plugin add <cordova-plugin> --save


按这个命令把所有需要的插件重新安装一遍,发现还是不生效,有大神说需要把plugins下的ios.json删除,重新编译加载
一下,按此方法,果然可行,网络状态和设备状态对象都已经可用。
--------------------------
第二个问题:
虽然安装了Cordova-plugin-dialogs这个对话框插件:
可是在页面中使用alert()的时候,还是js得格式,标题是当前页面的文件名,没有截图可惜了,
在官方文档中,plugins一章中发现了这样一段话,写在最前面,如下:


This plugin provides access to some native dialog UI elements via a global navigator.notification object.
Although the object is attached to the global scoped navigator, it is not available until after the deviceready event.


document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    console.log(navigator.notification);
}


英文一般,大概的意思就是,navigator.notification需要在设备准备好以后使用,就是上面的代码,需要写在onDeviceReady使用,
navigator.notification.alert(message, alertCallback, [title], [buttonName])


不用回调函数的话,这样写navigator.notification.alert("用户名不能为空!",null,"提示","确定");


然后把所有页面都重新调整了一遍,现在页面提示弹出的就是原生IOS对话框了,吃透官方文档很重要,贴一下我的config.xml文件,大家参考:


<?xml version='1.0' encoding='utf-8'?>
<widget id="cn.jybd.bi" version="1.0.3" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>应用名字</name>
    <description>   
        ********
    </description>
    <author email="dev@cordova.apache.org" href="http://cordova.io"> 
        **********       
    </author>
    <preference name="BackupWebStorage" value="none" />
    <preference name="WebViewBounce" value="false" />
    <preference name="DisallowOverscroll" value="true" />
    <content src="index.html" />
    <plugin name="cordova-plugin-whitelist" spec="1" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <platform name="android">
        <allow-intent href="market:*" />
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
    </platform>
    <plugin name="cordova-plugin-device" spec="~1.1.2" />
    <plugin name="cordova-plugin-dialogs" spec="~1.2.1" />
    <plugin name="cordova-plugin-network-information" spec="~1.2.1" />
</widget>


还有疑问可以邮件联系我: dsb2008@126.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尚俊飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值