1

私は Objective-C にまったく慣れていないので、この問題を 2 時間グーグルで検索しても、有用な情報は何も得られませんでした。実際、私は始めたときよりもさらに混乱しています。iOS 6 用に更新された教科書も持っていますが、この問題にはまったく役に立ちません。

ユーザーがアプリに特定の時間を入力し (おそらく日付ピッカーから、まだ決めていません)、後で通知を受け取るようにしたいだけです (たとえば、ユーザーが入力する時間の 5 時間前など)。

以下のサンプル画像は、私が何を意味するかを示しています。ユーザーが午前 2 時 9 分に入力し、午後 9 時 9 分 (5 時間前) に図のような通知を受け取ったとします。

このソースからこのコードを見つけましたが、これが私の目的に必要なものであるかどうかさえわかりません:

// Add an observer that will respond to loginComplete
[[NSNotificationCenter defaultCenter] addObserver:self 
                                             selector:@selector(showMainMenu:) 
                                                 name:@"loginComplete" object:nil];


// Post a notification to loginComplete
[[NSNotificationCenter defaultCenter] postNotificationName:@"loginComplete" object:nil];


// the function specified in the same class where we defined the addObserver
- (void)showMainMenu:(NSNotification *)note {
    NSLog(@"Received Notification - Someone seems to have logged in"); 
}

コードは NSNotificationCenter 向けのようです。ボタン押下イベントの後にメッセージをコンソールに出力するだけです。

誰かが指定されたコードを変更したり、希望する結果を得る方法のサンプルを提供したりできますか?

私のために私のアプリを書く必要はありません。それは私が求めているものではありません。コードサンプル、またはそれらへのリンクのみ。

繰り返しますが、ユーザーがコントロールに時刻を入力すると、アプリがその時刻の数時間前になる時期を判断し、その時点で通知を行います。コントロールと時間については理解できますが、通知については本当に困惑しています。それが私が助けを必要としているものです。

誰かが幸運にもこれに関する優れたチュートリアルを見つけた場合、それは間違いなく私にも役立ちます.

この問題に関するヘルプを Google で見つけるのは困難であり、これはおそらく多くの人にとって一般的な問題であることを考えると、私だけでなく、これを見ている他の人にも役立つでしょう。

前もって感謝します。

通知

4

1 に答える 1

5

そのために使わなければなりませんUILocalNotification。ここにチュートリアルがあります

     UILocalNotification *notification = [[UILocalNotification alloc]init];
    notification.fireDate = self.datePicker.date;
    notification.alertBody = "Wake up!!";
    notification.soundName = UILocalNotificationDefaultSoundName;     
    notification.alertAction= @"view details";

    [[UIApplication sharedApplication]scheduleLocalNotification:notification];
    [notification release];

これにより、アプリのローカル通知がスケジュールされます。アプリがバックグラウンドにある場合、システム自体がアラート メッセージを表示します。しかし、If the application is foremost and visible when the system delivers the notification, no alert is shown, no icon is badged, and no sound is played. However, the application:didReceiveLocalNotification: is called if the application delegate implements it.そこには通知に応答する必要があります。

于 2013-02-20T06:31:42.880 に答える