2013-08-14 12 views
8

Sto cercando di creare segnalibri con ambito di sicurezza per scope di documenti per i pacchetti di file. Cioè, le directory in cui è NSURLIsPackageKeyYES. So che normalmente non si dovrebbe essere in grado di creare segnalibri di ambito documentale per le directory, ma mi sarei aspettato che i pacchetti ne fossero esenti (dopotutto, ho accesso a loro usando uno NSOpenPanel che non è autorizzato a selezionare directory, ma non ci sono problemi lì).Scopo del documento, Segnalibri con ambito di sicurezza per pacchetti di file

Ho i miei diritti configurati con com.apple.security.files.bookmarks.document-scope = true, e sto facendo una chiamata di base di creazione dei segnalibri con un URL di file che ho appena ricevuto da un NSOpenPanel (così ho accesso):

NSError *bookmarkError = nil; 
NSData *bookmark = [fileURL 
    bookmarkDataWithOptions:NSURLBookmarkCreationWithSecurityScope 
    includingResourceValuesForKeys:nil 
    relativeToURL:[self fileURL] 
    error:&bookmarkError]; 

Dopo questa chiamata, sia bookmark sia bookmarkError sono nil.

Ho solo bisogno di rinunciare a questo e creare segnalibri di app-scope, anche se ho un'app basata su documenti? Sembra inopportuno, ma non vedo un'altra soluzione.

+0

Non ho una risposta alla tua domanda, ma qualcosa che mi ha morso è fileURL del documento è pari a zero fino a quando prima salvato, quindi se non è stato impostato il diritto app-ambito la creazione dei segnalibri fallirebbe. – duncanwilcox

+0

Mi sono imbattuto anche in quello. Per qualche motivo ha funzionato, anche se sicuramente non ho impostato 'com.apple.security.files.bookmarks.app-scope'. Questo mi ha portato a pensare che ho avuto segnalibri del documento con ambito di lavoro, fino a quando mi sono reso conto che '[sé fileURL]' era ancora pari a zero. –

risposta

3

ho chiesto informazioni su questo altrove e mi è stato detto:

... Non abbiamo implementare il supporto per questo, perché è complicato e ci sono state pochissime le richieste di esso.

In questo modo, non è possibile creare questo tipo di segnalibro perché non è implementato. Ho anche archiviato un bug con Apple ma la risposta ha appena citato i documenti (indicando cose che già conoscevo e che avevo menzionato nel mio rapporto) prima di chiuderlo. Quindi, da ora e probabilmente per il prossimo futuro, questo non è possibile.

Problemi correlati