2011-02-01 1 views
5

Я хотел бы знать, есть ли способ обнаружить, изменилась ли музыкальная библиотека iphone, когда мое приложение не запущено.Как определить, синхронизируется ли iphone, когда приложение не работает

Существует свойство lastModifiedDate в классе MPMediaLibrary, который делает это, но проблема, с которой я сталкиваюсь, заключается в том, что эта дата изменяется, даже если iPhone не синхронизирован. Дата обычно изменяется, если текущий список воспроизведения или текущий список воспроизведения изменены на iPod.

Есть ли другой способ определить, синхронизирован ли iPhone?

+0

Плюс, я не совсем уверен, когда lastModifiedDate изменяется отдельно от изменения текущего списка pLaying. – Dhawal

ответ

0

Вы можете использовать lastModifiedDate, и когда приложение закрыто, запишите статус списков воспроизведения, а затем, когда приложение будет открыто, а lastModifiedDate изменится: сравните текущий и предыдущие плейлисты.

+0

HI Alex, спасибо за ответ. Проблема возникает, даже если текущий список воспроизведения или текущий список воспроизведения изменены на iPod, и теперь есть возможность получить текущий список воспроизведения iPod (если есть, сообщите мне об этом!). По вашему методу я могу сохранить предыдущий список воспроизведения (поскольку плейлист установлен в мое приложение, пока он существует), но не может получить текущий список воспроизведения для сравнения. – Dhawal

0

Если устройство синхронизируется с iTunes, оно очистит папку tmp под всеми приложениями. Поэтому вы можете создать пустой файл в tmp, а в следующий раз, когда ваше приложение запустится и не обнаружено, что файл отсутствует, устройство должно быть синхронизировано. Чтобы получить путь к папке tmp, используйте NSTemporaryDirectory()

+0

Спасибо @Owen, проверим сегодня – Dhawal

+0

HI, снова. Я hv пробовал этот путь, но файл в temp dir не удаляется при синхронизации iphone. Я тестирую в iOS 3.1.3 – Dhawal

+0

Я обнаружил, что несколько лет назад я случайно использовал NSTemporaryDirectory() вместо NSHomeDirectory(), а файл сохранения был сохранен в /tmp/Documents/вместо /Documents /, которые заставляют файл сохранения удаляться каждый раз при синхронизации устройства. Это была ошибка, которую я провел неделю, поэтому я совершенно уверен в этом. Возможно, Apple изменила это поведение позже. – howanghk