Перетаскивание файлов через песочницу (__CFPasteboardIssueSandboxExtensionForPath)

Я обработал операцию перетаскивания из представления браузера в пользовательское представление. Это хорошо работает в Snow Lepoard, но не в Mountain Lion с песочницей.

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] ()

мой вопрос:

1. как исправить эту ошибку __CFPasteboardIssueSandboxExtensionForPath; я ссылаюсь на документы и ничего не нашел об этом. Я уверен, что у меня есть разрешение на доступ к файлу! Google говорит, может быть, «startAccessingSecurityScopedResource» поможет мне, тогда я попробую и не удалось

2. Почему pasteboardItems2 имеет значение? Я пишу на картон только URL, но не строку. Мне противно, что я могу получить URL как из типа NSString, так и из типа NSUrl! (Я пытаюсь перетащить файл из iFinder, URL-адрес будет существовать только в pasteboardItems, но не в pasteboardItems2 ). Кто-нибудь знает, почему? Я думаю, что первая проблема будет устранена автоматически, когда кто-нибудь поможет мне решить эту проблему.

8
задан Aravindhan 24 August 2012 в 04:46
поделиться