1

基本的なアラーム機能を備えたアプリがあります。私の applicationWillResignActive: メソッドでは、アラームを鳴らす通知を作成するように設定しています。これは非常にうまく機能し、これが適切な方法だと思います (より良い方法があると思われる場合はお知らせください)。

特定の状況でのみ、iOS 6 のみで、アプリケーションが「終了」していない (ホーム ボタンが押されていない) 場合にのみ、ユーザーが単に電話をロックするか、電話が自動ロックされると、通知はオフになりません。

私はコードをたどりましたが、通知は実際に作成されており、iOS 5 で完全に機能しました。

これが私のコードです:

- (void)applicationWillResignActive:(UIApplication *)application
{
    [UIApplication sharedApplication].idleTimerDisabled = NO;

    [alarm setupForBackground];
    if ([alarm isRunning]) {
        [alarm stop];
    }
}

通知の作成方法は次のとおりです。

- (void)setupForBackground
{
    UILocalNotification* alarmNotification = [[UILocalNotification alloc] init];
    if (alarmNotification) {
        alarmNotification.fireDate = alarmDate;
        alarmNotification.timeZone = [NSTimeZone defaultTimeZone];
        alarmNotification.repeatInterval = 0;
        alarmNotification.soundName = @"NotificationSound.aif";
        [[UIApplication sharedApplication] scheduleLocalNotification:alarmNotification];
    }
}

しばらく答えを探していましたが、通知の変更について何かを述べているものは見つかりませんでした。助けてくれてありがとう。

4

1 に答える 1

1

私は半分の解決策を持っています。どうやら AlertBody を通知に追加すると、機能するようです。

私の考えでは、これは iOS 6 のバグです。iOS 5 で機能したと述べたように、ドキュメントにはそのような要件があることについては言及されておらず、アプリケーションが終了した場合 (ホーム ボタンが押した)。

私の理解が正しいかどうか、そしてAppleにバグレポートを提出する必要があるかどうか、まだ知りたい.

誰か考えますか?

于 2012-09-24T21:38:49.277 に答える