Cordova iOS - 插件未加载

4
我正在使用Cordova(我尝试了许多版本,当前版本为3.5)进行iOS开发,但每次尝试使用插件时都无法正常工作。我尝试了以下插件:org.apache.cordova.dialogs和com.teamnemitoff.phonedialer。
安装完成,文件部署在正确的目录中,构建阶段的链接存在(文件.m),但什么也没用。我看到了很多关于这个问题的讨论,并尝试了许多解决方法,但没有解决我的问题。
对于通知插件,当我调用navigator.notification.alert方法时,它不能解决“未定义”响应。我尝试在js文件(notification.js)中添加警报,但消息没有显示,因此我认为插件没有正确加载。
有人能帮助我吗?
以下是config.xml和cordova_plugins.js文件的内容:
cordova_plugins.js位于(在platforms/ios/www/)
cordova.define('cordova/plugin_list', function(require, exports, module) {
module.exports = [enter code here
    {
        "file": "plugins/org.apache.cordova.dialogs/www/notification.js",
        "id": "org.apache.cordova.dialogs.notification",
        "merges": [
            "navigator.notification"
        ]
    }
];
module.exports.metadata = 
// TOP OF METADATA
{
    "org.apache.cordova.dialogs": "0.2.10"
}
// BOTTOM OF METADATA
});

config.xml位于(MyTests/platforms/ios/MyTests/config.xml)。

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.mydomain.mytests" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <preference name="AllowInlineMediaPlayback" value="false" />
    <preference name="AutoHideSplashScreen" value="true" />
    <preference name="BackupWebStorage" value="cloud" />
    <preference name="DisallowOverscroll" value="false" />
    <preference name="EnableViewportScale" value="false" />
    <preference name="FadeSplashScreen" value="true" />
    <preference name="FadeSplashScreenDuration" value=".25" />
    <preference name="KeyboardDisplayRequiresUserAction" value="true" />
    <preference name="MediaPlaybackRequiresUserAction" value="false" />
    <preference name="ShowSplashScreenSpinner" value="true" />
    <preference name="SuppressesIncrementalRendering" value="false" />
    <preference name="TopActivityIndicator" value="gray" />
    <preference name="GapBetweenPages" value="0" />
    <preference name="PageLength" value="0" />
    <preference name="PaginationBreakingMode" value="page" />
    <preference name="PaginationMode" value="unpaginated" />
    <feature name="LocalStorage">
        <param name="ios-package" value="CDVLocalStorage" />
    </feature>
    <name>MyTests</name>
    <description>
        A sample Apache Cordova application that responds to the deviceready event.
    </description>
    <author email="dev@cordova.apache.org" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    <access origin="*" />
    <feature name="Notification">
        <param name="ios-package" value="CDVNotification" />
    </feature>
</widget>

安装插件后,您是否运行了 cordova build 命令? - cfj
是的,我运行了它,并且在config.xml中看到了与插件声明对应的行以加载插件。但是什么也没有发生... - Nakir
1个回答

0
尝试在您的视图中添加<script src="cordova.js"></script>

navigator.notification 总是返回未定义(undefined),即使在添加了 org.apache.cordova.dialogs 插件之后。因此我认为插件没有正确加载,但我没有任何错误可以解释这个问题... - Nakir
@Nakir,如果你有的话,能否提供 config.xmlcordova_plugins.js(位于 platforms/ios/www/)? - Tien Nguyen
我已经提供了那两个文件的内容,非常感谢你的帮助 Tien。 - Nakir
@Nakir,那里似乎没有问题。通过添加一些警报来检查是否已执行cordova_plugins.js - Tien Nguyen
在执行 cordova build 后,添加警告以使用 Xcode 构建项目。如果警告未执行,则意味着 cordova_plugins.js 未被包含。尝试直接在 cordova.js 中向 cordova 添加警告。 - Tien Nguyen
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接