Ошибка Xcode NSMetaDataQuery на устройстве под управлением iOS 17.5 — [ОШИБКА] не удалось получить идентификаторы удаленIOS

Программируем под IOS
Ответить
Anonymous
 Ошибка Xcode NSMetaDataQuery на устройстве под управлением iOS 17.5 — [ОШИБКА] не удалось получить идентификаторы удален

Сообщение Anonymous »

Xcode 15.4 работает на различных симуляторах iOS и аппаратных устройствах от IOS 14.5 до 17.5.
Часть моего кода представляет пользователю страницу резервного копирования/восстановления, которая использует NSMetaDataQuery для обновления графического интерфейса. для загружаемых или скачиваемых файлов.
На каждом устройстве, где я запускаю код, все работает как положено, ЗА ИСКЛЮЧЕНИЕМ одного — iPhone 11 под управлением iOS 17.5; после запуска запроса я получаю следующую ошибку:
[ОШИБКА] не удалось получить идентификаторы удаленных операций: NSError: Cocoa 257 «Файл не может быть открыт, потому что у вас нет разрешения на его просмотр."
"От демона возвращена ошибка: Error Domain=com.apple.accounts Code=7 "(null)""

Из-за этой ошибки я не получаю обновления запросов и, следовательно, не могу отобразить, нужно ли загружать, загружать или синхронизировать файл.
Я не инициирую загрузку или загрузку файла. файл резервной копии, поскольку он помещен в вездесущий контейнер, и я оставляю загрузку/загрузку файла IOS; все, что я делаю с запросом, это отслеживаю состояние файла и предпринимаю соответствующие действия, чтобы показать пользователю процент загруженного/загруженного файла.
Как было сказано ранее, это только одно устройство, вызывающее У меня болит голова, поэтому я не знаю, связано ли это как-то с IOS 17.5, когда Apple внесла изменения, о которых я не знаю. У меня есть доступ к iPhone и iPad под управлением какой-либо версии IOS 16, и он работает безупречно.
запуск метода startAccessingSecurityScopedResource(), который был предложен некоторыми, возвращает «истину» в симуляторе. и «false» на устройстве, но даже тогда все устройства работают, кроме одного; так что, похоже, это не решение.
Изменение предиката запроса тоже не помогло.
Как мне детализировать, чтобы найти виновника - я в замешательстве.
Мой очень простой инициализатор и запуск запроса:
func initialiseQuery() {
query = NSMetadataQuery.init()
query.operationQueue = .main
query.searchScopes = [NSMetadataQueryUbiquitousDocumentsScope]
query.predicate = NSPredicate(format: "%K LIKE %@", NSMetadataItemFSNameKey, fileUrl.lastPathComponent)

query.operationQueue?.addOperation({ [weak self] in
self?.query.start()
self?.query.enableUpdates()
})
}


Подробнее здесь: https://stackoverflow.com/questions/785 ... ldnt-fetch
Ответить

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

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

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

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

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