Хотя это невозможно сделать, когда приложение не запущено, вы можете сделать это довольно легко при запуске или во время работы (если он будет работать в 3 часа ночи). Вот что я хотел бы сделать:
- хранить
NSDate
используя NSUserDefaults
в последний раз вы обновляли.
- При запуске, если с этой даты прошло 3 часа, инициируйте синхронизацию.
- Также при запуске запустите
NSTimer
с длинным интервалом - 5 минут или около того. При каждом запуске проверьте, прошел ли период 3 AM, и если он есть, инициируйте синхронизацию. Вы можете даже свернуть последний код пули в этот способ стрельбы NSTimer
и просто запустить его один раз при запуске. Просто обязательно обновляйте объект NSDate
каждый раз.
- В делетете приложения в методах, вызванных из возврата из фона, проверьте время и синхронизацию, если необходимо, или просто запустите
NSTimer
и немедленно запустите его немедленно.
Это должно охватывать все сценарии, в которых необходимо обновить приложение.
Почему бы не проверить приложение на наличие обновлений при его запуске? Будет ли приложение работать круглосуточно? – 2010-12-01 15:38:09