0

現在、アラームを作成しています。NSTimer を使用してアラームをスケジュールします。私の問題は、デバイスがロックモードになったときに NSTimer が起動しないことです。ロックするとアプリがサスペンド状態になるので、NSTimerが起動しないと思います。問題の解決策を見つけるのを手伝ってもらえますか?

UIBackgroundModes に関するトピックをいくつか見つけましたが、それがどのように役立つかわかりません。

ありがとう..

UILocalNotification の問題は、デバイスがサイレント モードの場合、音が聞こえないことです。私の実装は、アプリがフォアグラウンドにあるとき、またはデバイスがロックされているがアプリが現在実行中のときに、NSTimer を使用してアラームを発生させることでした。applicationDidEnterBackground: が呼び出されると、UILocalNotification をアラームとしてスケジュールします。

4

3 に答える 3

2

これを機能させるには、ローカル通知 (UILocalNotification) を使用する必要があります。

詳細については、 Apple のドキュメントを参照してください。

于 2011-01-07T09:19:37.137 に答える
1

この目的のためにローカル通知を使用できます。アプリがバックグラウンドで実行されている場合でも、ローカル通知を介してアラートを受け取ることができます。

詳細については、以下のリンクを参照してください。

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

乾杯

于 2011-01-07T09:17:20.817 に答える
1

ユーザーが画面をロックしても、デバイスを起動したままにするためのちょっとしたコツがあります。

欠点は、バッテリーの寿命がかなり長くなることです。これを行う方法については、しばらく前にブログ記事を書きました。ハウツー: iPhone のディープ スリープを防止する - blog.marcopeluso.com

この手法は、iOS 4.2.1 までのすべての iOS デバイスで機能します。これを使用する承認済みの目覚まし時計アプリを App Store で入手しました。

使用できるドロップイン コードを作成しました。GitHub の MMPDeepSleepPreventer

于 2011-01-12T11:45:20.630 に答える