#ios #react-native #file #react-native-fs
#iOS #реагировать-родной #файл #реагировать-родной-fs
Вопрос:
Я ищу способ получить доступ к каталогу Files.app, в основном к каталогу «Downloads», но каталог, помеченный как «На моем iPhone», также будет работать. Вариант использования будет заключаться в том, что пользователь загружает сертификат вне приложения в Files.app, и приложение будет просматривать каталог для этого сертификата. Я использую ‘react-native-fs’ и попытался использовать несколько путей к каталогам файлов, предоставляемых библиотекой, таких как DocumentDirectoryPath
и LibraryDirectoryPath
. Я также добавил UISupportsDocumentBrowser
ко info.plist
всему, но безуспешно.
Просто для тестирования я использую:
RNFS.readDir(RNFS.DocumentDirectoryPath).then(files => {
console.log(files);
})
.catch(err => {
console.log(err.message, err.code);
});
Ответ №1:
Файловый менеджер не может волшебным образом «заглянуть» в мир приложений Files.app. Этот мир принадлежит приложению Files! Вы изолированы. Вы можете разрешить пользователю выбирать файл из приложения «Файлы» с помощью браузера документов, но вы не можете просто волшебным образом заглянуть в него.
Комментарии:
1. А, понятно. Итак, что-то вроде react-native-documents-picker — это то, на что я должен обратить внимание?
2. Я ничего не знаю о react native, я просто описываю, как работает iOS. Ни одно приложение не может просто заглядывать в файлы, но приложение может позволить пользователю заглядывать в файлы.
Ответ №2:
Если вы пытаетесь получить доступ к Files.app, вы можете открыть его через свое приложение, добавив LSApplicationQueriesSchemes
в качестве массива info.plist
. Затем добавьте shareddocuments
(без ://). Это позволяет открывать файлы нажатием кнопки, если хотите.
Если вы пытаетесь получить доступ к документу в файловой системе на iOS, то лучше использовать react-native-document-picker . Я сделал это, чтобы захватить файлы .CSV, хранящиеся в любом месте на моем Ipad или облаке.