Сбой при доступе к свойству fileURL CKAsset в Swift 3 на iOS 9

Доступ к свойству fileURL в CKAsset с помощью Swift 3 на устройстве iOS 9 (или macOS 10.11) для синхронизированного ресурса в CloudKit завершается с ошибкой URL._unconditionallyBridgeFromObjectiveC(NSURL?) -> URL (). когда записи выбираются с использованием CKFetchRecordChangesOperation.

Я проверил запись на CloudKit Dashboard, и для него правильно установлено значение ресурса. На iOS 10 или macOS 10.12 все работает как положено.

Разница между iOS 10 и iOS 9 на объекте CKAsset заключается в том, что на iOS 10 мой ресурс имеет значение пути path=~/Library/Caches/CloudKit/.../Assets/..., который отсутствует в объекте iOS 9.

Обновление: использование категории Obj-C поверх CKAsset для получения изображения из fileURL устраняет сбой, но не проблему, fileURL по-прежнему равен нулю и не может иметь синхронизацию.

Обновление 2: инженер Apple подтвердил мне, что это ошибка iOS 9 SDK, и обходной путь для получения значения fileURL состоит в том, чтобы снова извлекать каждую запись отдельно, без каких-либо операций.

0 ответов

Другие вопросы по тегам