cordova-plugin-telerik-imagepicker не может быть добавлен. изменения в этом плагине конфликтуют с изменениями в config.xml

#ionic-framework #cordova-plugins #imagepicker

#ionic-framework #cordova-plugins #imagepicker

Вопрос:

 <?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
  xmlns:android="http://schemas.android.com/apk/res/android"
  id="cordova-plugin-telerik-imagepicker"
  version="2.2.4">

    <name>ImagePicker</name>

    <description>
        This plugin allows selection of multiple images from the camera roll / gallery in a phonegap app
    </description>

    <license>MIT</license>

    <engines>
        <engine name="cordova" version=">=3.5.0" />
    </engines>

    <js-module src="www/imagepicker.js" name="ImagePicker">
        <clobbers target="plugins.imagePicker" />
    </js-module>

    <!-- ios -->
    <platform name="ios">
        <config-file target="config.xml" parent="/*">
            <feature name="ImagePicker">
                <param name="ios-package" value="SOSPicker"/>
            </feature>
        </config-file>

        <preference name="PHOTO_LIBRARY_USAGE_DESCRIPTION" default=" " />
        <config-file target="*-Info.plist" parent="NSPhotoLibraryUsageDescription">
          <string>$PHOTO_LIBRARY_USAGE_DESCRIPTION</string>
        </config-file>

        <header-file src="src/ios/SOSPicker.h" />
        <source-file src="src/ios/SOSPicker.m" />

        <header-file src="src/ios/GMImagePicker/UIImage fixOrientation.h" />
        <source-file src="src/ios/GMImagePicker/UIImage fixOrientation.m" />

        <header-file src="src/ios/GMImagePicker/GMAlbumsViewCell.h" />
        <source-file src="src/ios/GMImagePicker/GMAlbumsViewCell.m" />

        <header-file src="src/ios/GMImagePicker/GMAlbumsViewController.h" />
        <source-file src="src/ios/GMImagePicker/GMAlbumsViewController.m" />

        <header-file src="src/ios/GMImagePicker/GMFetchItem.h" />
        <source-file src="src/ios/GMImagePicker/GMFetchItem.m" />

        <header-file src="src/ios/GMImagePicker/GMGridViewCell.h" />
        <source-file src="src/ios/GMImagePicker/GMGridViewCell.m" />

        <header-file src="src/ios/GMImagePicker/GMGridViewController.h" />
        <source-file src="src/ios/GMImagePicker/GMGridViewController.m" />

        <header-file src="src/ios/GMImagePicker/GMImagePickerController.h" />
        <source-file src="src/ios/GMImagePicker/GMImagePickerController.m" />

        <header-file src="src/ios/GMImagePicker/PSYBlockTimer.h" />
        <source-file src="src/ios/GMImagePicker/PSYBlockTimer.m" />

        <header-file src="src/ios/GMImagePicker/GMPHAsset.h" />
        <source-file src="src/ios/GMImagePicker/GMPHAsset.m" />

        <resource-file src="src/ios/GMImagePicker/GMEmptyFolder@1x.png" />
        <resource-file src="src/ios/GMImagePicker/GMEmptyFolder@2x.png" />

        <resource-file src="src/ios/GMImagePicker/GMSelected.png" />
        <resource-file src="src/ios/GMImagePicker/GMSelected@2x.png" />

        <resource-file src="src/ios/GMImagePicker/GMVideoIcon.png" />
        <resource-file src="src/ios/GMImagePicker/GMVideoIcon@2x.png" />

        <resource-file src="src/ios/GMImagePicker/ca.lproj" />
        <resource-file src="src/ios/GMImagePicker/de.lproj" />
        <resource-file src="src/ios/GMImagePicker/en.lproj" />
        <resource-file src="src/ios/GMImagePicker/es.lproj" />
        <resource-file src="src/ios/GMImagePicker/fr.lproj" />
        <resource-file src="src/ios/GMImagePicker/it.lproj" />
        <resource-file src="src/ios/GMImagePicker/pt.lproj" />
        <resource-file src="src/ios/GMImagePicker/pl.lproj" />
        <resource-file src="src/ios/GMImagePicker/zh-Hans.lproj" />

        <framework src="Accelerate.framework" />
        <framework src="Security.framework" />
        <framework src="Photos.framework" />
        <framework src="SystemConfiguration.framework" />
        <framework src="QuartzCore.framework" />

    </platform>

    <!-- android -->
    <platform name="android">
        <config-file target="res/xml/config.xml" parent="/*">
            <feature name="ImagePicker">
                <param name="android-package" value="com.synconset.ImagePicker"/>
            </feature>
        </config-file>

        <config-file target="AndroidManifest.xml" parent="/manifest/application">
            <activity android:label="@string/multi_app_name" android:name="com.synconset.MultiImageChooserActivity" android:theme="@style/Theme.AppCompat.Light">
            </activity>
        </config-file>

        <config-file target="AndroidManifest.xml" parent="/manifest">
            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        </config-file>

        <framework src="com.android.support:appcompat-v7:23 " />

        <source-file src="src/android/com/synconset/ImagePicker/ImagePicker.java" target-dir="src/com/synconset" />
        <source-file src="src/android/com/synconset/ImagePicker/FakeR.java" target-dir="src/com/synconset" />

        <source-file src="src/android/Library/src/ImageFetcher.java" target-dir="src/com/synconset"/>
        <source-file src="src/android/Library/src/MultiImageChooserActivity.java" target-dir="src/com/synconset"/>

        <resource-file src="src/android/Library/res/anim/image_pop_in.xml" target="res/anim/image_pop_in.xml"/>
        <resource-file src="src/android/Library/res/drawable/grid_background.xml" target="res/drawable/grid_background.xml"/>
        <resource-file src="src/android/Library/res/drawable-hdpi/image_bg.9.png" target="res/drawable-hdpi/image_bg.9.png"/>
        <resource-file src="src/android/Library/res/drawable-hdpi/loading_icon.png" target="res/drawable-hdpi/loading_icon.png"/>
        <resource-file src="src/android/Library/res/drawable-mdpi/ic_action_discard_dark.png" target="res/drawable-mdpi/ic_action_discard_dark.png"/>
        <resource-file src="src/android/Library/res/drawable-mdpi/ic_action_discard_light.png" target="res/drawable-mdpi/ic_action_discard_light.png"/>
        <resource-file src="src/android/Library/res/drawable-mdpi/ic_action_done_dark.png" target="res/drawable-mdpi/ic_action_done_dark.png"/>
        <resource-file src="src/android/Library/res/drawable-mdpi/ic_action_done_light.png" target="res/drawable-mdpi/ic_action_done_light.png"/>
        <resource-file src="src/android/Library/res/drawable-mdpi/ic_launcher.png" target="res/drawable-mdpi/ic_launcher.png"/>
        <resource-file src="src/android/Library/res/drawable-xhdpi/ic_action_discard_dark.png" target="res/drawable-xhdpi/ic_action_discard_dark.png"/>
        <resource-file src="src/android/Library/res/drawable-xhdpi/ic_action_discard_light.png" target="res/drawable-xhdpi/ic_action_discard_light.png"/>
        <resource-file src="src/android/Library/res/drawable-xhdpi/ic_action_done_dark.png" target="res/drawable-xhdpi/ic_action_done_dark.png"/>
        <resource-file src="src/android/Library/res/drawable-xhdpi/ic_action_done_light.png" target="res/drawable-xhdpi/ic_action_done_light.png"/>
        <resource-file src="src/android/Library/res/drawable-xhdpi/ic_launcher.png" target="res/drawable-xhdpi/ic_launcher.png"/>
        <resource-file src="src/android/Library/res/layout/actionbar_custom_view_done_discard.xml" target="res/layout/actionbar_custom_view_done_discard.xml"/>
        <resource-file src="src/android/Library/res/layout/actionbar_discard_button.xml" target="res/layout/actionbar_discard_button.xml"/>
        <resource-file src="src/android/Library/res/layout/actionbar_done_button.xml" target="res/layout/actionbar_done_button.xml"/>
        <resource-file src="src/android/Library/res/layout/multiselectorgrid.xml" target="res/layout/multiselectorgrid.xml"/>
        <resource-file src="src/android/Library/res/values/multiimagechooser_strings_en.xml" target="res/values/multiimagechooser_strings_en.xml"/>
        <resource-file src="src/android/Library/res/values/themes.xml" target="res/values/themes.xml"/>

        <resource-file src="src/android/Library/res/values-de/multiimagechooser_strings_de.xml" target="res/values-de/multiimagechooser_strings_de.xml"/>
        <resource-file src="src/android/Library/res/values-es/multiimagechooser_strings_es.xml" target="res/values-es/multiimagechooser_strings_es.xml"/>
        <resource-file src="src/android/Library/res/values-fr/multiimagechooser_strings_fr.xml" target="res/values-fr/multiimagechooser_strings_fr.xml"/>
        <resource-file src="src/android/Library/res/values-hu/multiimagechooser_strings_hu.xml" target="res/values-hu/multiimagechooser_strings_hu.xml"/>
        <resource-file src="src/android/Library/res/values-ja/multiimagechooser_strings_ja.xml" target="res/values-ja/multiimagechooser_strings_ja.xml"/>
        <resource-file src="src/android/Library/res/values-ko/multiimagechooser_strings_ko.xml" target="res/values-ko/multiimagechooser_strings_ko.xml"/>
        <source-file src="src/android/Library/res/values-pl/multiimagechooser_strings_pl.xml" target-dir="res/values-pl"/>

        <framework src="src/android/ignorelinterrors.gradle" custom="true" type="gradleReference"/>
        <framework src="src/android/androidtarget.gradle" custom="true" type="gradleReference"/>
    </platform>
</plugin>  

Изначально средство выбора изображений работало, но внезапно я получаю следующую ошибку:

«пытался вызвать ImagePicker.hasReadPermission, но плагин ImagePicker не установлен»

Я пытался удалить и переустановить image picker безрезультатно, и я не уверен, что именно произошло.

     "cordova-plugin-telerik-imagepicker": "^2.3.5",  

любая помощь была бы высоко оценена

 ionic cordova -v
6.0.1

9.0.0 (cordova-lib@9.0.1)

    "cordova-android": "^8.1.0",
    "cordova-ios": "^5.1.1",  

cordova-plugin-telerik-imagepicker не может быть добавлен. изменения в этом плагине конфликтуют с изменениями в config.xml

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

1. Можете ли вы попробовать cordova plugin add https://github.com/Anuj-logiciel/ImagePicker.git и подтвердить, работает ли это для вас? Также, пожалуйста, проверьте на Android 10, что он позволяет выбирать изображения.

Ответ №1:

текущий обходной путь для этой ошибки: установите версию плагина 2.3.3, пока проблемы не будут устранены командой telerik, и обновите конфигурацию ниже вconfig.xml файл вручную.

 <platform name="android">
    <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
        <application android:networkSecurityConfig="@xml/network_security_config" />
        <application android:requestLegacyExternalStorage="true" />
    </edit-config>
</platform>
  

Они добавили <application android:requestLegacyExternalStorage="true" /> в config.xml для поддержки imagepicker на устройствах с Android 10.

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

1. По иронии судьбы, мы использовали 2.3.3 и обновили до 2.3.5 в надежде, что это исправит проблему с Android 10! Мы откатились до 2.3.3 и добавили android:requestLegacyExternalStorage в нашу конфигурацию, и она работает хорошо, спасибо!

2. Спасибо, чувак, ты спас мой день ….. мой установил 2.3.6, с которым я столкнулся с той же проблемой

3. Спасибо, чувак, ты спас мой день ….. мой установил 2.3.6, с которым я столкнулся с той же проблемой