Проблемы с разрешениями на доступ к файлам iOSIOS

Программируем под IOS
Ответить
Anonymous
 Проблемы с разрешениями на доступ к файлам iOS

Сообщение Anonymous »

Я застрял и не получаю никуда после нескольких дней победы над моей головой о стену, поэтому я прихожу к колодцу знаний. Папка - работает отлично < /p>
Редактировать и сохранение: можно многократно редактировать и сохранить документ в рамках одного и того же приложения - работает отлично < /p>
Приложение перезапуск: закрыть приложение, повторно откройте, попробуйте получить доступ к одному файлу из последних файлов < /p>
Permission Denied: Error Domain=NSCocoaErrorDomain Code=257 "The file couldn't be opened because you don't have permission to view it"
< /code>
Технические данные < /p>
Использование Swiftui .fileExporter и .fileimport < /p>
Реализация доступа к ресурсам Security-Scoped (startAccessingSecurityScopedResource) < /p>
Files physically exist in /private/var/mobile/Library/Mobile Documents/com~apple~CloudDocs/MyAppName/
< /code>
Недавние файлы, хранящиеся как пути файлов, становятся недоступными после перезапуска приложения < /p>
Что работает: < /p>
Создание файлов и первоначальное сохранение
Несколько сохранивших /> Вопрос: < /p>
Как успешные текстовые редакторы iOS (текстовая, рабочая копия и т. Д.) Обработают постоянный доступ к файлу? They allow users to create files and reload them seamlessly across app sessions without permission errors.
Potential approaches we're considering:
Security-scoped bookmarks (complex, unreliable)
Default to Documents folder (limits user choice)
Force file picker every time (poor UX)
Looking for: Anyone who has solved Эта проблема с разрешением файла iOS или знает, как устоявшиеся текстовые редакторы справляются с ним.let needsAccess = url.startAccessingSecurityScopedResource() defer { if needsAccess { url.stopAccessingSecurityScopedResource() } }
< /code>

Закладки с безопасностью-трюмами < /li>
< /ol>
let bookmarkData = try url.bookmarkData(options: .withSecurityScope) // Save to UserDefaults, later...
let restoredURL = try URL(resolvingBookmarkData: bookmarkData, options: .withSecurityScope)
< /code>
Что я ожидал:

• Файлы, сохраненные пользователем через приложение (особенно в iCloud или другие общие папки) должны оставаться доступными после повторного запуска.

• Приложение должно быть в состоянии повторно открыть и продолжить редактирование файлов, не требуя, чтобы пользователь был установлен, чтобы устоять в ED. Textedit, страницы или даже сторонние редакторы, которые поддерживают последние документы.

• плавный, ожидаемый поток UX: Создать → редактировать → Сохранить → «Отказаться>

Подробнее здесь: https://stackoverflow.com/questions/796 ... ons-issues
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»