2011-01-07 2 views
0

В настоящее время я создаю будильник. Я использую NSTimer для планирования моих аварийных сигналов. Моя проблема в том, что устройство было помещено в заблокированный режим, который мой NSTimer не срабатывает. Я думаю, что NSTimer не будет запускаться, потому что мое приложение переходит в приостановленное состояние, когда оно заблокировано. Можете ли вы помочь мне найти решение моей проблемы?NSTimer для стрельбы, когда устройство заблокировано

Я нашел несколько тем о UIBackgroundModes, но я не знаю, как это мне поможет.

Спасибо ..

Проблема в UILocalNotification когда устройство было тихо, звук не будет слышать. Моя реализация заключалась в том, что я использую NSTimer для запуска будильника, когда приложение находится на переднем плане, или устройство заблокировано, но приложение работает в настоящий момент. Когда вызывается applicationDidEnterBackground: я планирую UILocalNotification как тревогу.

+0

Если у вас есть решение, то также дайте мне знать, я должен также реализовать эту вещь. – GhostRider

+0

Локальные уведомления - это правильная вещь для использования в этих обстоятельствах, и она, безусловно, будет работать – Aditya

+0

@Aditya вы сделали местные уведомления, когда приложение молчит? –

ответ

1

Существует небольшая уловка, позволяющая устройству проснуться, даже если пользователь блокирует экран.

Недостатком является то, что это требует довольно большого количества времени автономной работы. Я написал сообщение в блоге о том, как это сделать некоторое время назад. How-To: Prevent iPhone from Deep Sleeping - blog.marcopeluso.com

Этот метод работает на всех устройствах iOS до iOS 4.2.1, и у меня есть одобренное приложение будильника в App Store, который использует это.

Я создал кусок кода для ввода кода, который вы можете использовать. MMPDeepSleepPreventer on GitHub

+0

Спасибо ... Я реализовал его в своем приложении, и он получил одобрение. – edie

+0

Я рад, что смогу помочь. –

+0

Там, где я могу сказать, есть какой-то другой выход.Эти сигналы начинают звуковые дорожки во время блокировки и тихо: Alarm Clock Pro Alarm Моих часы Wave Встревоженного Ihome ... –

1

Для этой цели можно использовать локальные оповещения, даже если ваше приложение работает в фоновом режиме, вы можете получать оповещения через локальные уведомления.

Вы можете передать ссылку ниже для получения дополнительной информации

http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction/Introduction.html

Cheers

+0

Благодарим Aditya за ваш ответ, но звук Local Notifications не слышен, когда устройство было тихо. – edie

+1

Очевидно, что в режиме «Без звука» вы не можете слышать звук уведомлений «Локальный» или «Push». Это убивает всю цель режима «Без звука», если вы можете создавать звуки в этом режиме. – Aditya

+1

Ok. Вот почему я не использую локальное уведомление, чтобы отображать предупреждение как сигнал тревоги, потому что, как пользователь может узнать, срабатывал ли будильник. Я видел несколько других будильников, которые могут срабатывать, даже если устройство ушло спать почти через 30 минут. И они могут воспроизводить звук, чтобы уведомить пользователя о возникновении этого сигнала. По моему наблюдению они не используют UILocalNotification, потому что нет никакого окна предупреждений, которое появляется так же, как UILocalNotification. – edie

2

Вы должны будете использовать местное уведомление (UILocalNotification) для этой работы.

За дополнительной информацией обращайтесь к Apple's documentation.

+0

Спасибо за ваш ответ Брох. Я отредактировал свой вопрос. UILocalNotification был только моим вторым вариантом. – edie

 Смежные вопросы

  • Нет связанных вопросов^_^