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(物理设备,而不是模拟器)。
答案 0 :(得分:1)
在我的index.html文件中,我有这个:
<plugin name="cordova.plugins.diagnostic" spec="~3.6.5"/>
我希望你的意思是config.xml
而不是index.html
。
错误:undefined不是对象(评估'cordova.plugins.diagnostic.requestLocationAuthorization')
错误表明插件在应用程序中不存在或在被Cordova动态加载之前被引用。
首先,检查插件是否实际存在于应用中。如果您的项目中存在插件文件diagnostic.js
和Diagnostic.m
,则可以签入XCode。
其次,确保在deviceready
事件被触发之前没有引用该插件,因为它不会被加载。
有关该插件的工作示例,请参阅example project。