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

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

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

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


person Dhawal    schedule 01.02.2011    source источник
comment
Кроме того, я не совсем уверен, когда меняется lastModifiedDate, кроме изменений в текущем списке воспроизведения.   -  person Dhawal    schedule 02.02.2011


Ответы (2)


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

person Alex Stuckey    schedule 02.02.2011
comment
Привет Алекс, Спасибо за ответ. Проблема возникает, даже если текущий список воспроизведения или текущий список воспроизведения изменен в iPod, и теперь есть способ получить текущий список воспроизведения iPod (если есть, сообщите мне!). По вашему методу я могу сохранить предыдущий список воспроизведения (потому что список воспроизведения установлен в моем приложении, пока он существует), но не могу получить текущий список воспроизведения для сравнения. - person Dhawal; 02.02.2011

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

person howanghk    schedule 19.02.2011
comment
Спасибо @Owen, проверю сегодня - person Dhawal; 21.02.2011
comment
Привет еще раз. Я пробовал этот способ, но файл во временном каталоге не удаляется при синхронизации iphone. Я тестирую в iOS 3.1.3 - person Dhawal; 21.02.2011
comment
Я обнаружил, что несколько лет назад, в то время я случайно использовал NSTemporaryDirectory() вместо NSHomeDirectory(), и файл сохранения оказался сохраненным в ‹папке приложения›/tmp/Documents/ вместо ‹папки приложения›/Documents/, что потому что файл сохранения удаляется каждый раз, когда я синхронизирую устройство. Это была ошибка, на которую я потратил больше недели, поэтому я совершенно уверен в этом. Возможно, позже Apple изменила это поведение. - person howanghk; 21.02.2011
comment
Начиная с iOS 8 этот метод не работает. Любые другие предложения? - person Raj; 31.08.2015