Ero solito pensare che le cartelle dovessero avere un'estensione in modo che fossero riconosciute come pacchetti dal Finder. Tale estensione verrebbe dichiarata nel file Info.plist dell'applicazione proprietaria.Come si contrassegna una cartella come un pacchetto?
Ovviamente c'è un altro, più elegante modo, ma non riesco a capire come è fatto.
E.g. la libreria iPhoto viene considerata come un pacchetto dal Finder. Eppure non ha estensione. mdls rivela che ha effettivamente "com.apple.package" nell'albero dei tipi di contenuto. Il tipo di contenuto effettivo viene assegnato dinamicamente.
In che modo iPhoto è riuscito a creare tale directory?
Nota storica: il bit fascio è stato originariamente utilizzato per i file, e ha fatto sì che il file ha avuto una risorsa 'BNDL' in esso. Il Finder leggeva la risorsa bundle da qualsiasi file che incontrava che aveva il set di bundle bit e non aveva il bit bit impostato. Ora, la funzione delle risorse 'BNDL' è soddisfatta dai file Info.plist, e il bit del bundle viene principalmente utilizzato nelle directory, dove dice al Finder e ai servizi di navigazione di trattare la directory come farebbe con un file (cioè, rende directory un pacchetto). –
Qualche ragione particolare per cui lo metti su NSWorkspace? non usa il puntatore "self" di NSWorkspace. – adib
Immagino che dovrebbe essere NSWorkspace o NSFileManager in modo che corrisponda al resto di Cocoa. Non riesco a ricordare perché ho optato per il primo però. Certo, dal momento che questo codice è stato scritto, potrebbe essere meglio su NSURL. –