Tôi đã xử lý hoạt động kéo từ chế độ xem trình duyệt sang chế độ xem tùy chỉnh. Nó hoạt động tốt trong lepoard tuyết, nhưng không ở trong Mountain Lion có hộp cát.Kéo tập tin đi qua Sandbox (__ CFPasteboardIssueSandboxExtensionForPath)
in browser view:
NSMutableArray* urls = [[[NSMutableArray alloc] init] autorelease];
..............put some NSUrl to urls array....................
[pasteboard writeObjects:[NSArray arrayWithArray:urls]];
in my receive custom view:
NSArray* pasteboardItems = [pasteboard readObjectsForClasses:[NSArray arrayWithObject:[NSString class]] options:nil];
NSArray* pasteboardItems2 = [pasteboard readObjectsForClasses:[NSArray arrayWithObject:[NSURL class]] options:nil];
NSArray* pasteboardItems3 = [pasteboard readObjectsForClasses:[NSArray arrayWithObject:[NSImage class]] options:nil];
NSLog(@"%@",pasteboardItems);
NSLog(@"%@",pasteboardItems2);
NSLog(@"%@",pasteboardItems3);
my log is:
2012-08-09 18:33:43.886 iCollage[6885:303] __CFPasteboardIssueSandboxExtensionForPath: error for [/Users/xxxx/Library/Containers/xxxxxxxxxxxx/Data/Downloads/1343902069.jpg]
2012-08-09 18:33:44.546 iCollage[6885:303] ("file://localhost/Users/xxx/Library/Containers/xxxxxxxx/Data/Downloads/1343902069.jpg")
2012-08-09 18:33:44.547 iCollage[6885:303] ("file://localhost/Users/xxxxx/Library/Containers/xxxxxx/Data/Downloads/1343902069.jpg")
2012-08-09 18:33:44.547 iCollage[6885:303]()
câu hỏi của tôi là:
1.how để sửa chữa __CFPasteboardIssueSandboxExtensionForPath lỗi này, tôi tham khảo các tài liệu và thấy gì về that.I am ensuer rằng tôi có quyền truy cập tệp google nói! có thể là "startAccessingSecurityScopedResource" sẽ giúp tôi, sau đó tôi thử và thất bại
2.why pasteboardItems2 có giá trị? i viết vào pasteboard chỉ url chứ không phải chuỗi. Nó làm tôi kinh ngạc vì tôi có thể nhận được cả url từ loại NSString và NSUrl kiểu! (Tôi thử kéo một tập tin từ iFinder, các url sẽ chỉ tồn tại trong pasteboardItems nhưng không phải là pasteboardItems2) .Bất cứ ai biết tại sao? Tôi nghĩ rằng vấn đề đầu tiên sẽ tự động cố định khi một số giúp tôi khắc phục sự cố này.
Bạn đã tìm ra cách khắc phục sự cố này chưa? Tôi cũng nhận được lỗi này: ( – Aravindhan
@Aravindhanarvi u có thể thử đánh dấu phạm vi –