2016-12-07 52 views
1

問題:我正在使用Ionic 1嘗試使用Ionic Cloud設置推送通知。我得到以下錯誤:

**Error: [$injector:unpr] Unknown provider: ionic.cloudProvider <- ionic.cloud <- welcomeCtrl** 
ionic.bundle.js:26794 Error: [$injector:unpr] Unknown provider: ionic.cloudProvider <- ionic.cloud <- welcomeCtrl 
http://errors.angularjs.org/1.5.3/$injector/unpr?p0=ionic.cloudProvider%20%3C-%20ionic.cloud%20%3C-%20welcomeCtrl 
    at ionic.bundle.js:13438 
    at ionic.bundle.js:17788 
    at Object.getService [as get] (ionic.bundle.js:17941) 
    at ionic.bundle.js:17793 
    at getService (ionic.bundle.js:17941) 
    at injectionArgs (ionic.bundle.js:17965) 
    at Object.instantiate (ionic.bundle.js:18007) 
    at $controller (ionic.bundle.js:23412) 
    at Object.self.appendViewElement (ionic.bundle.js:59900) 
    at Object.render (ionic.bundle.js:57893)(anonymous function) @ ionic.bundle.js:26794 

我app.js:

angular.module('app', [ 
       'ionic', 
       'ionic.cloud', 
... 

我注射ionic.cloud。

.config(function($ionicConfigProvider, $ionicCloudProvider) { 
    // Set tabs always to load on top 
    $ionicConfigProvider.tabs.position('top'); 

    $ionicCloudProvider.init({ 
    "core": { 
     "app_id": "(my app id was here)" 
    }, 
    "push": { 
     "sender_id": "(FCM sender id was here)", 
     "pluginConfig": { 
     "ios": { 
      "badge": true, 
      "sound": true 
     }, 
     "android": { 
      "iconColor": "#343434" 
     } 
     } 
    } 
    }); 
}); 

我的配置設置正確。

然後在我的index.html我:

<script src="lib/ionic/js/ionic.bundle.js"></script> 
    <!-- ionic cloud --> 
    <script src="lib/ionic.cloud.min.js"></script> 

最後在我的控制,我有:

angular.module('app.controllers') 
.controller('welcomeCtrl', ['$scope', '$stateParams', 'UserService', '$cordovaDevice', '$cordovaCapture','$cordovaFileTransfer', '$cordovaGeolocation', '$location', '$timeout','$state', '$ionicHistory', 'ionic.cloud', 
function ($scope, $stateParams, UserService, $cordovaDevice, $cordovaCapture, $cordovaFileTransfer, $cordovaGeolocation, $location,$timeout,$state, $ionicHistory, $ionicPush) { 

你會看到我是注入「ionic.cloud'$ionicPush

我在Chrome設備調試中驗證了資源在那裏。我跟隨Ionic雲文檔到T,但不斷收到此錯誤。

任何人有任何想法?

謝謝!這裏

+0

不應該是$ ionicCloud而不是$ ionicCloudProvider嗎? –

+0

@AnthonyC基於這個文檔,它是$ ionicCloudProvider:http://docs.ionic.io/setup.html#installation – Fostah

+0

有沒有一個404的ionci.cloud? –

回答

3

問題是在你的控制你沒有注入ionic.cloud,它應該是

angular.module('app.controllers') 
.controller('welcomeCtrl', ['$scope', '$stateParams', 'UserService', '$cordovaDevice', '$cordovaCapture','$cordovaFileTransfer', 
'$cordovaGeolocation', '$location', '$timeout','$state', '$ionicHistory', '$ionicPush', 
function ($scope, $stateParams, UserService, $cordovaDevice, $cordovaCapture, $cordovaFileTransfer, $cordovaGeolocation, 
$location,$timeout,$state, $ionicHistory, $ionicPush) { 

}

如果您的控制器是由不同的模塊,它應該有ionic.cloud注入

angular.module('app.controllers',['ionic', 
       'ionic.cloud']) 
+0

上面的部分工作,我正在跟隨文檔http://docs.ionic.io/services/push/在控制器中列出'ionic.cloud',你只是在第一個$ ionicPush中缺少引號。更新,我會接受。謝謝! – Fostah

+0

@Fostah好的感謝告訴,應用 – Sajeetharan

相關問題