Tôi đang cố gắng tạo dấu trang bảo mật phạm vi tài liệu cho các gói tệp. Tức là, các thư mục nơi NSURLIsPackageKey
là YES
. Tôi biết bạn thường không có khả năng tạo dấu trang tài liệu cho các thư mục, nhưng tôi đã mong đợi các gói được miễn trừ (sau khi tất cả, tôi có quyền truy cập vào chúng bằng cách sử dụng NSOpenPanel
không được phép chọn nhưng không có vấn đề gì).Phạm vi tài liệu, Dấu trang được bảo mật cho các gói tệp
Tôi đã có quyền lợi của tôi thiết lập với com.apple.security.files.bookmarks.document-scope
= true
, và tôi đang làm một cuộc gọi tạo bookmark cơ bản với một URL tập tin mà tôi vừa mới nhận được từ một NSOpenPanel
(vì vậy tôi có quyền truy cập):
NSError *bookmarkError = nil;
NSData *bookmark = [fileURL
bookmarkDataWithOptions:NSURLBookmarkCreationWithSecurityScope
includingResourceValuesForKeys:nil
relativeToURL:[self fileURL]
error:&bookmarkError];
Sau cuộc gọi này, cả hai số bookmark
và bookmarkError
là nil
.
Tôi chỉ cần từ bỏ điều này và tạo dấu trang phạm vi ứng dụng, mặc dù tôi có ứng dụng dựa trên tài liệu? Điều đó có vẻ không phù hợp, nhưng tôi không thấy cách giải quyết khác.
Tôi không có câu trả lời cho câu hỏi của bạn, nhưng điều gì đó khiến tôi nhớ là fileURL của tài liệu là không cho đến lần lưu đầu tiên, vì vậy nếu bạn chưa đặt quyền lợi phạm vi ứng dụng, việc tạo dấu trang sẽ không thành công. – duncanwilcox
Tôi cũng gặp phải điều đó. Vì một lý do nào đó nó hoạt động, mặc dù tôi chắc chắn không đặt 'com.apple.security.files.bookmarks.app-scope'. Điều đó khiến tôi nghĩ rằng tôi đã có các dấu trang được tạo tài liệu hoạt động, cho đến khi tôi nhận ra rằng '[self fileURL]' vẫn là không. –