【问题标题】:Cordova Plugin Apprate not define.Cordova Plugin Apprate 未定义。
【发布时间】:2017-08-17 13:56:12
【问题描述】:

我正在尝试测试我的 ionic 应用程序,但每次我服务它时,我都会得到一个空白屏幕和导航栏。我收到了一个看起来像这样的错误,我花了无数个小时寻找,但什么也没有。

`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)
        }

这是我每次通过 ionic 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

【问题讨论】:

  • 你是在浏览器中运行的吗?
  • 是的,但是我也将它放在试飞中并尝试在我的手机上进行测试,但仍然没有任何显示。但是导航栏@robbannn

标签: cordova ionic-framework cordova-plugins


【解决方案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'
    };
  }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-20
    • 2018-08-04
    • 1970-01-01
    • 2018-12-24
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多