Сказать заранее: Эта проблема, по-видимому, является исключительно новой для выпуска iOS 18, поскольку другие разработчики сообщают, что она прекрасно работает с предыдущими версиями, такими как 17, 15 и т. д.
Объяснение
Используя реакцию-native-fs, приложение позволяет пользователю выбирать папку с помощью встроенного средства выбора файлов с помощью const res = await DocumentPicker.pickDirectory();, которая в нашем случае находится в каталоге «На моем iPhone» iPhone-Simulator. Тогда
Код: Выделить всё
const create = async (path: string, content: string): Promise => {
await RNFS.exists(path);
if(!exists){
await RNFS.mkdir(`${path}Directory`); // the "path" string already contains "/" at the end
await RNFS.writeFile(`${path}Directory/file.{format}`, content, 'utf8');
}
}
Есть несколько запросов, обсуждающих одну и ту же проблему:
- https://developer.apple.com/forums/thread/765329
- react-native-fs на iOS не показывает загруженный файл в приложении «Файлы»
Общими исправлениями до сих пор были:
1. Чтобы установить следующие настройки в info.plist либо через XCode или сам файл:
Код: Выделить всё
LSSupportsOpeningDocumentsInPlace
UIFileSharingEnabled
Поскольку мой проект использует подход к управлению файлами за пределами изолированного каталога, решение для более распространенного изолированного примера наверняка будет другим. Проблем с разрешениями/генерацией нет, так как, если бы они были, файл даже не был бы создан на первом этапе.
Кто-нибудь здесь, кто просматривал правый угол Apple-Dev-Docs или уже нашел ответ? Заранее большое спасибо
Подробнее здесь: https://stackoverflow.com/questions/794 ... -on-ios-18
Мобильная версия