【问题标题】:How to debug native cordova plugins on ionic app?如何在离子应用程序上调试本机科尔多瓦插件?
【发布时间】:2017-10-04 20:07:22
【问题描述】:

我创建了一个简单的应用程序,可以使用 @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 时,我没有任何调试信息。

问候

【问题讨论】:

  • 只使用 vscode-cordova 扩展

标签: android cordova google-chrome ionic-framework


【解决方案1】:

该错误意味着除非已经加载了 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

希望对你有所帮助=)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-30
    • 2018-02-08
    • 2017-07-31
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    相关资源
    最近更新 更多