Ionic Cordova设备UUID

时间:2014-12-05 10:23:22

标签: ios angularjs cordova ionic-framework cordova-plugins

您好我正在使用Ionic框架和Cordova开发混合应用程序。我希望使用设备uuid作为ID,所以我添加了cordova设备插件。另外我使用NG-Cordova包装器来调用我的cordova插件。然而,每当我在xcode模拟器或实际的Ipad上运行我的应用程序时,我得到的是{{uuid}}。

似乎没有任何错误消息我只能假设设备插件无效。

我已将我的代码放在下面,但是我不确定这是不是问题,之前是否有人遇到此问题,如果是这样,他们是如何解决的?

控制器:

angular.module('starter.controllers', []).controller('DashCtrl', function(
$scope, $state, $cordovaDevice) {
var init = function() {
    console.log("initializing device");
    try {
        $scope.uuid = $cordovaDevice.getUUID();
    } catch (err) {
        console.log("Error " + err.message);
        alert("error " + err.$$failure.message);
    }
};
init();

})

HTML

<ion-view title="Dashboard">
  <ion-content class="padding">
    <h1>Dash</h1>
    {{uuid}}
  </ion-content>
</ion-view>

app.js

angular.module('starter', ['ionic', 'starter.controllers', 'starter.services'])
    .run(function($ionicPlatform) {
        $ionicPlatform.ready(function() {
            if (window.cordova && window.cordova.plugins.Keyboard) {
                cordova.plugins.Keyboard.hideKeyboardAccessoryBar(
                    true);
            }
            if (window.StatusBar) {
                // org.apache.cordova.statusbar required
                StatusBar.styleDefault();
            }
        });
    }).config(function($stateProvider, $urlRouterProvider) {
        $stateProvider
        // setup an abstract state for the tabs directive
            .state('tab', {
                url: "/tab",
                abstract: true,
                templateUrl: "templates/tabs.html"
            })
            // Each tab has its own nav history stack:
            .state('tab.dash', {
                url: '/dash',
                views: {
                    'tab-dash': {
                        templateUrl: 'templates/tab-dash.html',
                        controller: 'DashCtrl'
                    }
                }
            });
        // if none of the above states are matched, use this as the fallback
        $urlRouterProvider.otherwise('/tab/dash');
    });

1 个答案:

答案 0 :(得分:1)

我的问题背后的原因是由于使用了ngCordova的自定义版本。

如果我只是ngcordova的正常或缩小版本,它可以完美地运行。

感谢您的帮助。