我试图测试我的离子应用程序,但每次我服务它我得到一个空白的屏幕和导航栏。我得到一个看起来像这样的错误我花了无数个小时看但却一无所获。
`Uncaught ReferenceError: AppRate is not defined
at Object.setPreferences (ng-cordova.min.js:7)
at Array.<anonymous> (config.js:24)
at onPlatformReady (ionic.bundle.js:2496)
at onWindowLoad (ionic.bundle.js:2477)`
angular.module("ngCordova.plugins.appRate", []).provider("$cordovaAppRate", [function() {
this.setPreferences = function(e) {
e && angular.isObject(e) && (AppRate.preferences.useLanguage = e.language || null,
AppRate.preferences.displayAppName = e.appName || "",
AppRate.preferences.promptAgainForEachNewVersion = e.promptForNewVersion || !0,
AppRate.preferences.openStoreInApp = e.openStoreInApp || !1,
AppRate.preferences.usesUntilPrompt = e.usesUntilPrompt || 3,
AppRate.preferences.useCustomRateDialog = e.useCustomRateDialog || !1,
AppRate.preferences.storeAppURL.ios = e.iosURL || null,
AppRate.preferences.storeAppURL.android = e.androidURL || null,
AppRate.preferences.storeAppURL.blackberry = e.blackberryURL || null,
AppRate.preferences.storeAppURL.windows8 = e.windowsURL || null)
}
这是我每次通过离子CLI为我的应用程序提供的错误。我已经尝试更新插件,但没有什么请帮助。这是我的离子信息:
global packages:
@ionic/cli-utils : 1.4.0
Cordova CLI : 7.0.1
Gulp CLI : not installed globally
Ionic CLI : 3.4.0
local packages:
@ionic/cli-plugin-cordova : 1.4.0
@ionic/cli-plugin-gulp : 1.0.1
@ionic/cli-plugin-ionic1 : 2.0.0
Cordova Platforms : android 5.1.1 ios 4.4.0
Ionic Framework : ionic1 1.3.1
System:
Node : v7.4.0
OS : macOS Sierra
Xcode : Xcode 8.3.3 Build version 8E3004b
ios-deploy : 1.9.1
ios-sim : 6.0.0
npm : 4.0.5
答案 0 :(得分:1)
确保所有对插件的调用都发生在cordova onDeviceReady事件触发后。 对于Ionic,您应该在$ ionicPlatform.ready()回调中移动代码。
$ionicPlatform.ready(function() {
if(window.cordova){
AppRate.preferences.displayName = "MyApp"
AppRate.preferences.storeAppURL = {
ios: '<my_app_id>',
android: 'market://details?id=my_app_id'
};
}
});