Ho elaborato l'operazione di trascinamento dalla visualizzazione del browser alla visualizzazione personalizzata. Funziona bene in snow lepoard, ma non in Mountain Lion con sandbox.Trascinare i file attraverso 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]()
la mia domanda è:
1.how Per correggere questo errore __CFPasteboardIssueSandboxExtensionForPath; mi riferisco i documenti e ha trovato nulla di that.I am ensuer che ho il permesso per accedere al file Google dice,! potrebbe essere "startAccessingSecurityScopedResource" mi aiuterà, quindi provo e fallito
2. perché pasteboardItems2 hanno valore? io scrivo solo in url ma non in string.It mi fa schifo che posso ottenere l'url sia dal tipo NSString che da NSUrl genere! (Provo a trascinare un file da iFinder, l'url esisterà solo in pasteboardItems ma non in pasteboardItems2). Qualcuno sa perché? Penso che il primo problema verrà risolto automaticamente quando qualcuno mi aiuterà a risolvere questo problema.
Hai trovato il modo di risolvere questo problema? Sto ottenendo anche questo errore :( – Aravindhan
@Aravindhanarvi puoi provare bookmark-scope –