cordova.file.* - в iOS все местоположения пусты. Работает в Android

Я использую плагин cordova-file-plugin, но он показывает все расположение в iOS как ноль. Это прекрасно работает с Android. Мне не хватает некоторых разрешений для iOS или чего-то еще?

2 ответа

Решение

Несмотря на то, что @JesseMonroy650 посоветовал проверить документы (что, по моему опыту, является ошибочной, неполной документацией), эта проблема не совсем объяснена в документах. Это также случилось со мной, и я решил это более радикально:

  1. Удалить org.apache.cordova.file плагин, и, к сожалению, все его зависимые плагины (например, org.apache.cordova.file-transfer, org.apache.cordova.media, org.chromium.zip и любой другой), используя cordova plugin rm [plugin-name], Чтобы узнать имена плагинов, запустите cordova plugins,

  2. Установите более новую версию файлового плагина. Новые плагины Cordova имеют другое название. Чтобы получить новое имя, замените org.apache.cordova. с cordova-plugin-, В этом случае используйте cordova plugin add cordova-plugin-file установить файл плагина

  3. Переустановите любой другой плагин, который вам пришлось удалить. Вы можете использовать новые версии (cordova-plugin-) или старые (org.apache.cordova.). Я использовал новую версию file-transfer,

  4. Добавьте в свой config.xml эта строка: <preference name="iosPersistentFileLocation" value="Compatibility" /> или же <preference name="iosPersistentFileLocation" value="Library" /> на основе ваших потребностей.

  5. Убедитесь, что вы бежите cordova prepare после того, как вы выполните эти шаги.

  6. Откройте Xcode, очистите проект с помощью + + K, а затем соберите его с помощью + B. Наконец, запустите проект с помощью + R. Вы также можете очистить проект и использовать кнопку воспроизведения, но в подобных случаях мне нравится делать шаги вручную. Да, я немного странный

Это также происходит, когда имя вашего файла содержит пробелы (на ios). Я потратил весь свой день на обновление плагинов и Cordova и Ionic. Я решил, удалив пробел из имени файла на IOS и все готово. Я использую плагин fileopener2 для открытия локального файла по URL.

Другие вопросы по тегам