如何在离子应用程序上调试本机cordova插件?

时间:2017-05-06 12:04:08

标签: android cordova google-chrome ionic-framework

我创建了一个简单的应用程序,可以使用@ ionic-native / photo-library从手机中选择照片。现在我想调试它,打印一些控制台日志并检查照片是否正确加载:

private selectPhoto() {
    this.photoLibrary.requestAuthorization().then(() => {
        this.photoLibrary.getLibrary().subscribe({
            next: library => {
                library.forEach((libraryItem) => {
                    console.log(libraryItem) // i want to print it
                })
            },   
            error: err => {},
            complete: () => { console.log('could not get photos'); }
        })
    })
    .catch(err => console.log(err));
}

不幸的是,我收到一个错误:

  

Native:尝试调用PhotoLibrary.requestAuthorization,但Cordova不可用。确保包含cordova.js或在设备/模拟器中运行

我读过必须在设备上测试本机插件,但是如何从我的控制台中的代码输出?当我安装apk时,我没有任何调试信息。

此致

1 个答案:

答案 0 :(得分:0)

错误意味着插件无法正常工作,除非已加载cordova.js。发生这种情况是因为cordova.js负责加载你的插件,所以如果你在cordova准备就绪之前打电话给它,那么它就不会工作。

你应该使用:

document.addEventListener('deviceready', DeviceReady, false);

function DeviceReady() {
   //your plugin code here...
}

$ionicPlatform.ready(function() {
    //your plugin code here...
});

要在浏览器控制台(chrome / safari)的帮助下正确调试Android / iOS版本,请确保在CLI中使用选项--debug构建调试apk / ipa:

$ionic build android/ios --debug

我希望这可以帮助你=)