Метод ‘requestAuthorization:’ не определен в плагине ‘PhotoLibrary’ ionic 4

#ios #cordova #ionic-framework #plugins #ionic4

#iOS #кордова #ionic-framework #Плагины #ionic4

Вопрос:

У меня есть плагин add Photo Library, следуйте инструкциям в ionic doc здесь

Я добавляю плагин с помощью ionic cordova plugin add cordova-plugin-photo-library --variable PHOTO_LIBRARY_USAGE_DESCRIPTION="To choose photos" --save команды

После добавления платформы с помощью ionic cordova platform add ios команды

Когда я получаю все фотографии из библиотеки, я получаю сообщение об ошибке ниже

ОШИБКА: метод ‘requestAuthorization:’ не определен в плагине ‘PhotoLibrary’

я определяю этот метод при нажатии кнопки, как показано ниже

 async getAllPhotos() {
    this.photoLibrary.requestAuthorization().then(() => {
        this.photoLibrary.getLibrary().subscribe({
            next: library => {
                library.forEach(function(libraryItem) {
                    console.log(libraryItem.id);          // ID of the photo
                    console.log(libraryItem.photoURL);    // Cross-platform access to photo
                    console.log(libraryItem.thumbnailURL); // Cross-platform access to thumbnail
                    console.log(libraryItem.fileName);
                    console.log(libraryItem.width);
                    console.log(libraryItem.height);
                    console.log(libraryItem.creationDate);
                    console.log(libraryItem.latitude);
                    console.log(libraryItem.longitude);
                    console.log(libraryItem.albumIds);    // array of ids of appropriate AlbumItem, only of includeAlbumsData was used
                });
            },
            error: err => { console.log('could not get photos'); },
            complete: () => { console.log('done getting photos'); }
        });
    }).catch(err => console.log('permissions weren't granted'));
}
 

Здесь я добавляю ionic info

Ионный:

    ionic (Ionic CLI)             : 4.10.2 (/Users/atologistimac2/node_modules/ionic)
   Ionic Framework               : @ionic/angular 4.1.2
   @angular-devkit/build-angular : 0.13.7
   @angular-devkit/schematics    : 7.2.4
   @angular/cli                  : 7.3.7
   @ionic/angular-toolkit        : 1.4.1
 

Кордова:

    cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)
   Cordova Platforms     : android 7.1.4, ios 5.0.0
   Cordova Plugins       : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.0.1, (and 18 other plugins)
 

Система:

    ios-deploy : 1.9.4
   ios-sim    : 7.0.0
   NodeJS     : v10.15.1 (/usr/local/bin/node)
   npm        : 6.9.0
   OS         : macOS High Sierra
   Xcode      : Xcode 10.1 Build version 10B61
 

Что я здесь делаю не так?

если у кого-нибудь есть решение, пожалуйста, поделитесь им, мы будем признательны

Спасибо

Ответ №1:

Вот как я решил эту проблему … лучше установить следующие плагины с правильными версиями, и они будут работать отлично.

плагин cordova rm cordova-плагин-добавить-swift-поддержка плагин cordova rm cordova-плагин-фото-библиотека

добавить плагин cordova cordova-plugin-add-swift-support@1.7.2 добавление плагина cordova https://github.com/nilebma/cordova-plugin-photo-library.git

и все снова будет работать нормально. Если вы столкнулись с какой-либо проблемой, просто удалите эти плагины из папки plugins вручную, а затем установите плагины.

Комментарии:

1. плагин cordova rm cordova-plugin-add-swift-support; плагин cordova rm cordova-plugin-photo-library; плагин cordova добавить cordova-plugin-add-swift-support@1.7.2 ; добавить плагин cordova github.com/nilebma/cordova-plugin-photo-library.git ;