#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, с которым я столкнулся с той же проблемой