2011-02-01 3 views
5

Vorrei sapere se c'è un modo per rilevare se la libreria musicale di iPhone è cambiata quando la mia app non è in esecuzione.Come rilevare se l'iphone è sincronizzato quando l'app non è in esecuzione

C'è una proprietà lastModifiedDate nella classe MPMediaLibrary che fa questo, ma il problema che sto affrontando è che questa data cambia anche se l'iPhone non è sincronizzato. La data generalmente cambia se la lista di riproduzione o la playlist corrente vengono cambiate in iPod.

C'è un altro modo per rilevare se l'iPhone è sincronizzato?

+0

Inoltre non sono completamente sicuro quando l'ultimo aggiornamento di Data sta cambiando a prescindere dalla modifica nell'elenco di pLaying corrente. – Dhawal

risposta

0

È possibile utilizzare il lastModifiedDate e quando l'applicazione è chiusa registrare lo stato delle playlist e, quindi, quando l'app è aperta e l'ultimo DataModificato è cambiato: confrontare le playlist correnti e precedenti.

+0

HI Alex, Grazie per la risposta. Il problema sorge anche se la lista di riproduzione o l'attuale elenco di riproduzione è cambiato in iPod e ora c'è modo di ottenere l'attuale elenco di riproduzione dell'iPod (se c'è, per favore fatemelo sapere!). Con il tuo metodo, posso memorizzare la playlist precedente (perché la playlist è impostata sulla mia app mentre esiste), ma non posso ottenere la playlist attuale per il confronto. – Dhawal

0

Se un dispositivo si sincronizza con iTunes, cancellerà la cartella tmp sotto tutte le app. Pertanto, è possibile creare un file vuoto in tmp e la volta successiva in cui l'applicazione viene avviata e viene rilevato che il file è mancante, è necessario che il dispositivo sia stato sincronizzato. Per ottenere il percorso della cartella tmp, utilizzare NSTemporaryDirectory()

+0

Grazie a @Owen, lo verificherò oggi – Dhawal

+0

HI, di nuovo. Ho provato in questo modo, ma il file in dir temp non viene eliminato quando iPhone è sincronizzato. Sto testando su iOS 3.1.3 – Dhawal

+0

Ho scoperto che alcuni anni fa, in quel momento ho usato per errore NSTemporaryDirectory() invece di NSHomeDirectory() e un file di salvataggio finito salvato in /tmp/Documents/invece di /Documents /, che causa la cancellazione del file di salvataggio ogni volta che sincronizzo il dispositivo. È stato un errore che ho trascorso più di una settimana, quindi sono abbastanza sicuro su questo. Forse Apple ha cambiato questo comportamento in seguito. – howanghk