如何确保 iOS Cordova Phone Gap 5.2 版插件已安装并正常工作

Posted

技术标签:

【中文标题】如何确保 iOS Cordova Phone Gap 5.2 版插件已安装并正常工作【英文标题】:How to make sure iOS Cordova Phone Gap version 5.2 plugins are installed and working 【发布时间】:2015-08-23 23:41:28 【问题描述】:

我只是尝试使用通知插件启动,稍后我将需要其他插件,但无法使其正常工作。当我尝试使用时

    navigator.notification.alert('test', myCallbackFn);

它说 navigator.notification 未定义。当我通过 CLI 添加插件时,我的配置文件添加了这一行。

    <plugin name="org.apache.cordova.dialogs" spec="~0.3.0" />

我在 deviceReady 函数中使用它,看起来cordova.js 加载没有任何问题。

这是我的全部sn-p:

     <script type="text/javascript">
        document.addEventListener('deviceready', function onDeviceReady() 
            angular.bootstrap(document, ['app']);

              try
                //alert(navigator.notification);
                navigator.notification.alert("test", function());
              catch(error)
                alert(error);
              ;

        , false);
    </script>

我也确实确保每次都运行这个

    $ cordova build ios

【问题讨论】:

【参考方案1】:

我不使用phonegap,我使用cordova。原因是,phonegap 使用较旧版本的cordova,并且您在 phonegap 中的插件较少。您使用的对话框插件是v0.3,Apache的当前官方版本是v1.1.1。

要检查通知插件是否正在运行,只需在您的 deviceready 函数中使用:

console.log(navigator.notification);

注意:在使用控制台之前,你必须安装控制台插件,在这里找到:https://github.com/apache/cordova-plugin-dialogs

这样做:

 cordova plugin add cordova-plugin-console

但如果你有 Apple 机器,我建议重新启动项目并使用 cordova 而不是 phonegap。

从这里开始,始终使用边缘版本(在右上角选择它):

http://cordova.apache.org/docs/en/edge/guide_cli_index.md.html#The%20Command-Line%20Interface

【讨论】:

好吧,实际上我对 phone gap/cordova 还是很陌生,并认为它们基本上是一样的。所以这可能是我问题的一部分。我尝试了其他几个插件,它们似乎已安装并显示在我的 config.xml 中,但我无法使用我的代码访问它们。 我按照您建议的链接开始了一个新项目,一切正常,感谢您的帮助!

以上是关于如何确保 iOS Cordova Phone Gap 5.2 版插件已安装并正常工作的主要内容,如果未能解决你的问题,请参考以下文章

如何通过绝对路径访问我的应用程序文件 - windows phone - Phonegap/Cordova

如何控制/强制 iOS 系统音量 [cordova]

使用 Cordova 识别 iOS 设备类型 iphone 或 ipad?

MPNS 错误请求 Windows Phone 8.1 (Cordova/Phonegap)

Cordova 6.5.0 创建 Phone项目

适用于 iOS 的 fileOpener2 Phonegap/cordova 插件中的正确文件路径