2012-09-12 17 views
11

Ho un oggetto conforme al protocollo NSFilePresenter che rappresenta il mio pacchetto di documenti dell'applicazione basato su documenti. Quando un nuovo file viene creato all'interno del pacchetto, programmaticamente utilizzando NSFileManager con i metodi NSFileCoordination appropriati o tramite Finder ho solo l'evento -presentedSubitemDidChangeAtURL:, ma non sembra così ovvio in questo caso -presentedSubitemDidAppearAtURL:.NSFilePresenter -presentedSubitemDidAppearAtURL: il metodo non viene mai chiamato

È un comportamento previsto o sto facendo qualcosa di sbagliato?

I commenti su -presentedSubitemDidAppearAtURL: in NSFilePresenter stato chiaro:

Notifica che è stato aggiunto un file o una directory contenuta dalla directory. Se questo metodo non è implementato ma è -presentedItemDidChange e la directory è in realtà un pacchetto di file, la macchina di coordinamento file invierà invece -presentedItemDidChange.

+0

Suppongo che tu non abbia implementato '-presentedItemDidChange'? – charles

+1

[Here] (http://www.objc.io/issue-10/icloud-document-store.html) è un bel post relativo a questo problema, e la mia conclusione è; Non utilizzare 'NSFilePresenter'. – Eonil

+1

GCD sembra essere la strada da percorrere. [Gestione degli eventi del file system con GCD] (http://www.davidhamrick.com/2011/10/10/handling-filesystem-events-with-gcd.html) – Eonil

risposta

8

Dopo aver lottato con questo problema esatto per un po ', ho aperto un problema di supporto tecnico con Apple. La loro risposta è stata che questo è un bug e l'unica cosa che possiamo fare adesso è fare tutto attraverso -presentedSubitemDidChangeAtURL:.

Vorrei incoraggiare chiunque incontri questo problema a presentare un bug (https://bugreport.apple.com) per incoraggiare Apple a risolvere il problema il prima possibile.

+0

La risposta di Apple a te indica l'estensione del "bug"? È semplicemente che '-presentedSubitemDidAppearAtURL:', -accommodatePresentedSubitemDeletionAtURL: completionHandler: 'et. al. non sono ancora gestiti dall'API NSFileCoordinator o ci sono casi in cui verrebbero chiamati? –

+0

Non hanno rivelato alcun dettaglio per me, quindi non sono sicuro, sfortunatamente. – jlong64

+1

Ancora lo stesso nel 2014. Ho sprecato un giorno per questo. Grazie comunque. – Eonil

Problemi correlati