Sto cercando di creare segnalibri con ambito di sicurezza per scope di documenti per i pacchetti di file. Cioè, le directory in cui è NSURLIsPackageKey
YES
. 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.
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
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. –