2012-01-18 13 views
0

締め切りに近づいたときに通知する機能に大きく依存するアプリケーションを書いたばかりです。これにより、ユーザはUITextFieldの特定の日付を入力することができます(日付ピッカーは使用しません)。私はプッシュ通知を設定するという面倒を踏まないで、iOS 5の通知センターがうまく動作します。しかし、通知センターに入力された日付を検出させる方法が不明です。私のビューコントローラにメソッドを::iPhone:通知センターで日付を検出するにはどうすればいいですか?

私は私のdidFinishLaunchingWithOptionsにこのコードを入れ

UILocalNotification *dateNotif = [[UILocalNotification alloc] init];

  localNotif.fireDate=[NSDate date]; 
      localNotif.timeZone = [NSTimeZone defaultTimeZone]; 


      localNotif.alertBody = @"Event starts in 20 minutes!"; 

      localNotif.alertAction = @"Show me"; 

      localNotif.soundName = UILocalNotificationDefaultSoundName; 
      localNotif.applicationIconBadgeNumber = 0; 
      [[UIApplication sharedApplication]presentLocalNotificationNow:dateNotif]; 
      [localNotif release]; 

しかし、私はここですべてから行くことがどこか分からない、私はまだ実際に新たなんですこれに。どんな助けも素晴らしいだろう、ありがとう!あなたはUILocalNotificationを作成する必要が

+1

プッシュ(リモート)通知を使用して死んだ場合、リモート通知を登録するのはなぜですか? –

+0

ああうわー、ええ、良い点、それはまったく意味がありませんでした。新しいコードでOPを更新しました。感謝の印! – John

答えて

2

は、適切fireDateを設定する(そしてあなたは、ユーザーが見たいものは何でもテキスト設定)UIApplicationさんscheduleLocalNotification:に渡し、その後、。

これ以外に対処する必要があるのは、通知が発生したときにアプリケーションが既に実行されている場合、通知センターでは何も処理が行われず、アプリケーションの代理人にdidReceiveLocalNotification:が届くということです。アプリが実行されていないが、ユーザーがアラートからアプリを起動することを選択した場合は、didFinishLaunchingWithOptions:に返されたローカル通知が届きます。

+0

すごく、ありがとうトミー!私は新しいコードでOPを更新しましたが、日付が来るときに通知を受け取る方法をまだ分かりません。 – John

+1

fireDateを、現在の日付ではなく通知を発生させる日付に設定します。したがって、ユーザーが選択した日付の20分前に設定します(たとえば、ユーザーが入力した日に 'dateByAddingTimeInterval:-20 * 60'を使用します)。その後、OSが残りの作業を行います。 – Tommy

+0

本当にありがとう、それは多くを助けた! – John

関連する問題