2013-08-14 28 views
8

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 NSURLIsPackageKeyYES. 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ố bookmarkbookmarkErrornil.

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.

+0

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

+0

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. –

Trả lời

3

tôi hỏi về vấn đề này ở đâu đó và được cho biết:

... chúng tôi đã không thực hiện hỗ trợ cho nó vì nó phức tạp và đã có rất ít yêu cầu cho nó.

Vì vậy, đó là, bạn không thể tạo loại dấu trang này vì nó không được triển khai. Tôi cũng đã gửi một lỗi với Apple nhưng câu trả lời chỉ trích dẫn các tài liệu tại tôi (tức là nói cho tôi biết những thứ tôi đã biết và đã đề cập trong báo cáo của tôi) trước khi đóng nó lại. Vì vậy, bây giờ và có lẽ trong tương lai gần, điều này là không thể.

Các vấn đề liên quan