QLPreviewView无法在沙箱中显示Quicklook预览

高酷

我使用QLPreviewView在应用程序中显示quicklook预览。如果没有沙盒,则效果很好,但是将应用程序更改为沙盒后,预览将无法显示。

我在控制台中发现错误: QuickLookUIHelpe(20786) deny file-read-data XXX.

我使用了安全范围内的书签com.apple.security.files.user-selected.read-write授予访问用户主目录的权限,然后:

[allowedURL startAccessingSecurityScopedResource];
self.myPreiviewItem.myURL = fileURL;
self.myQLPreviewView.previewItem = self.myPreiviewItem;
[self.myQLPreviewView refreshPreviewItem];
[allowedURL stopAccessingSecurityScopedResource];

有了这些,我可以删除用户主目录的文件,但是QLPreviewView无法工作。我不知道这两个场景之间有什么区别,QLPreviewView是否需要更多用于沙箱的场景?

如果我将com.apple.security.files.downloads.read-only添加到权利中,则可以预览“下载”中的文件,但不能预览用户主目录的其他文件。

高酷

终于我找到了解决方案!

refreshPreviewItem是一个异步调用,因此在Mac完成加载预览之前,以下apistopAccessingSecurityScopedResource立即关闭了访问权限,因此Mac无法成功加载预览。

所以解决的办法是:不要stopAccessingSecurityScopedResource这里,保持allowedURL的访问权,直到你不需要QL预览功能,然后调用stopAccessingSecurityScopedResource有的,比如关闭窗口时。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

QuickLook使用UINavigationController预览模式中的文件

来自分类Dev

Microsoft Office文件的QuickLook预览

来自分类Dev

QuickLook框架在iOS 10(带有Xcode 8.0 beta 3)中无法正常工作以显示.csv文件

来自分类Dev

QuickLook框架在iOS 10(带有Xcode 8.0 beta 3)中无法正常工作以显示.csv文件

来自分类Dev

MKS:无法从沙箱中删除成员

来自分类Dev

MKS:无法从沙箱中删除成员

来自分类Dev

在预览中显示多张图像

来自分类Dev

SwiftUI预览显示错误-无法在此文件中预览-当前目标需要调整的构建设置

来自分类Dev

在预览中显示Android Studio中的视图

来自分类Dev

Game Center Player显示名称始终在沙箱中为“我”

来自分类Dev

在C#中显示打印预览

来自分类Dev

捕获相机并在div中显示预览

来自分类Dev

遮罩未在OpenCV相机预览中显示

来自分类Dev

如何在“活动”中显示相机预览?

来自分类Dev

GMAIL中的“邮件预览”显示替代文本

来自分类Dev

在React的数据预览中显示PhoneInput值

来自分类Dev

CardView在预览中显示灰屏?

来自分类Dev

在vim中强制预览窗口显示:topleft

来自分类Dev

捕获相机并在div中显示预览

来自分类Dev

如何在GIMP中显示全屏预览?

来自分类Dev

从输入文件中显示预览图像

来自分类Dev

如何在Playgrounds中显示原型预览?

来自分类Dev

在 angularjs 中显示图像预览时出错

来自分类Dev

CardView 圆角未显示在 Android 预览中

来自分类Dev

预览标题未显示在 Facebook 帖子中

来自分类Dev

QuickLook类无法正常工作

来自分类Dev

Flash无法在沙箱属性内的iframe中工作

来自分类Dev

无法将数据加载到Pig中的Hortonworks沙箱

来自分类Dev

无法使IAP在模拟器的沙箱(SWIFT)中工作

Related 相关文章

热门标签

归档