ARQuickLookPreview для ресурсов по требованию - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь переместить файлы ресурсов AR (.reality) в моем приложении в состояние «По запросу». Я создал тег ресурса и создал менеджер для загрузки их по требованию. Кажется, что он прекрасно загружает ресурсы, так как я вижу это в XCode. Я использую QLPreviewController для просмотра этого ресурса в AR. Тем не менее, когда я нажимаю, чтобы просмотреть актив, PreviewController открывается нормально (вид с камеры), но я не вижу актив, но получаю счетчик с этой ошибкой

QLUbiquitousItemFetcher: <QLUbiquitousItemFetcher: 0x280a1cc80> could not create sandbox wrapper. Error: Error Domain=NSPOSIXErrorDomain Code=1 "couldn't issue sandbox extension com.apple.quicklook.readonly for '/var/mobile/Library/OnDemandResources/AssetPacks/C8529E22-2D10-4246-BE1A-EDF56FF14F7E/13505624025353642419/com.parjanya.arasset.asset-pack-76cc1674d9049fdde1d1686103014a95.assetpack/arasset.reality': Operation not permitted" UserInfo={NSDescription=couldn't issue sandbox extension com.apple.quicklook.readonly for '/var/mobile/Library/OnDemandResources/AssetPacks/C8529E22-2D10-4246-BE1A-EDF56FF14F7E/13505624025353642419/com.parjanya.arasset.asset-pack-76cc1674d9049fdde1d1686103014a95.assetpack/arasset.reality': Operation not permitted} #PreviewItem
2020-05-03 00:49:46.881293+0530 Aayana[6356:1998879] [default] URL cannot be nil when trying to fetch the contents of QLUbiquitousItemFetcher #PreviewItem
2020-05-03 00:49:46.881404+0530 Aayana[6356:1998879] [default] Will show error view because presenter could not successfully fetch content of preview item: <QLItem: 0x1058d8b70> - arasset, contents: (null), error: Error Domain=com.apple.quicklook.QLUbiquitousItemFetcher Code=0 "(null)". #PreviewController

Любая подсказка о том, что я делаю здесь неправильно ? Вот так я получаю доступ к этому ресурсу

func previewController(
            _ controller: QLPreviewController,
            previewItemAt index: Int
        ) -> QLPreviewItem {
            guard let fileURL = Bundle.main.url(forResource: parent.name, withExtension: "reality") else {
                fatalError("Unable to load \(parent.name).reality from main bundle")
            }

            let item =  ARQuickLookPreviewItem(fileAt: fileURL)
            item.allowsContentScaling = parent.allowScaling

            let canPreview = QLPreviewController.canPreview(item)
            print("Can preview item : \(canPreview)")
            return item
        }
...