2016-12-07 59 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