cordova.file.* - в iOS все местоположения пусты. Работает в Android
Я использую плагин cordova-file-plugin, но он показывает все расположение в iOS как ноль. Это прекрасно работает с Android. Мне не хватает некоторых разрешений для iOS или чего-то еще?
2 ответа
Несмотря на то, что @JesseMonroy650 посоветовал проверить документы (что, по моему опыту, является ошибочной, неполной документацией), эта проблема не совсем объяснена в документах. Это также случилось со мной, и я решил это более радикально:
Удалить
org.apache.cordova.file
плагин, и, к сожалению, все его зависимые плагины (например,org.apache.cordova.file-transfer
,org.apache.cordova.media
,org.chromium.zip
и любой другой), используяcordova plugin rm [plugin-name]
, Чтобы узнать имена плагинов, запуститеcordova plugins
,Установите более новую версию файлового плагина. Новые плагины Cordova имеют другое название. Чтобы получить новое имя, замените
org.apache.cordova.
сcordova-plugin-
, В этом случае используйтеcordova plugin add cordova-plugin-file
установить файл плагинаПереустановите любой другой плагин, который вам пришлось удалить. Вы можете использовать новые версии (
cordova-plugin-
) или старые (org.apache.cordova.
). Я использовал новую версиюfile-transfer
,Добавьте в свой
config.xml
эта строка:<preference name="iosPersistentFileLocation" value="Compatibility" />
или же<preference name="iosPersistentFileLocation" value="Library" />
на основе ваших потребностей.Убедитесь, что вы бежите
cordova prepare
после того, как вы выполните эти шаги.Откройте Xcode, очистите проект с помощью ⌘ + ⇧ + K, а затем соберите его с помощью ⌘ + B. Наконец, запустите проект с помощью ⌘ + R. Вы также можете очистить проект и использовать кнопку воспроизведения, но в подобных случаях мне нравится делать шаги вручную. Да, я немного странный
Это также происходит, когда имя вашего файла содержит пробелы (на ios). Я потратил весь свой день на обновление плагинов и Cordova и Ionic. Я решил, удалив пробел из имени файла на IOS и все готово. Я использую плагин fileopener2 для открытия локального файла по URL.