使用Xcode构建时的离子诊断插件错误

时间:2017-06-25 09:56:13

标签: ios xcode cordova ionic-framework

Error: undefined is not an object (evaluating 'cordova.plugins.diagnostic.requestLocationAuthorization')
checkLocationSettings@file:///var/containers/Bundle/Application/17-714B2421w-12AD-A13E-17245G12B039/MyApp.app/www/js/app.js:264:35

我检查了已安装的插件,我可以看到我安装了这个插件:cordova.plugins.diagnostic 3.6.5 "Diagnostic"cordova plugin ls

在我的config.xml文件中,我有这个:

<plugin name="cordova.plugins.diagnostic" spec="~3.6.5"/>

所以我希望它会起作用,但事实并非如此。我试图让它适用于iPhone 7(物理设备,而不是模拟器)。

1 个答案:

答案 0 :(得分:1)

  

在我的index.html文件中,我有这个:

     

<plugin name="cordova.plugins.diagnostic" spec="~3.6.5"/>

我希望你的意思是config.xml而不是index.html

  

错误:undefined不是对象(评估'cordova.plugins.diagnostic.requestLocationAuthorization')

错误表明插件在应用程序中不存在或在被Cordova动态加载之前被引用。

首先,检查插件是否实际存在于应用中。如果您的项目中存在插件文件diagnostic.jsDiagnostic.m,则可以签入XCode。

其次,确保在deviceready事件被触发之前没有引用该插件,因为它不会被加载。

有关该插件的工作示例,请参阅example project