Я использую QLPreviewView, чтобы показать предварительный просмотр быстрого просмотра в приложении. Без песочницы это работает хорошо, но как только вы измените приложение на песочницу, предварительный просмотр не может отображаться.
Я нашел ошибку в консоли: 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 не может работать. Я не знаю, в чем разница между этими 2 сценами, нужно ли QLPreviewView больше для песочницы?
Если я добавлю com.apple.security.files.downloads.read-only в право, файлы в «Загрузках» можно будет просмотреть, но другие файлы домашнего каталога пользователя нельзя будет просмотреть.