Работая над заменой устаревшего unarchiveTopLevelObjectWithData на unarchiveTopLevelObjectWithData (все еще продолжается), я столкнулся с некоторыми проблемами при тестировании.
Мой тест заключалось в том, что я ранее экспортировал его в приложение «Файлы», а оттуда, используя общий лист, отправил его в свое приложение. Это не работало.
Раньше я импортировал файлы из такого приложения, как WhatsApp, и это работало нормально.
После устранения неполадок я обнаружил, что по какой-то причине при обмене файлами из Приложение «Файлы» (а не только iCloud Drive). Я получаю другой URL-адрес файла, чем в других приложениях.
Если мой файл в приложении «Файлы» находится в iCloud Drive, я получаю следующий путь:
Код: Выделить всё
/private/var/mobile/Library/Mobile Documents/com~apple~CloudDocs
Код: Выделить всё
/private/var/mobile/Containers/Shared/AppGroup/***/File Provider Storage/Files
Теперь я изменил приложение, чтобы оно брало URL-адрес из метода application:openURL:options:. Но когда я использую этот URL-адрес для проверки существования файла с помощью FileManager.default.fileExists, он не может его найти.
Что мне нужно сделать, чтобы разрешить моему приложению получить доступ к URL-адресам, созданным приложением «Файлы»?
Подробнее здесь: https://stackoverflow.com/questions/784 ... -files-app
Мобильная версия