2016-08-18 10 views
0

ローカル通知を設定するアプリケーションがインストールされ、通知メッセージがランダム化される毎週メッセージを通知します。毎週現在の日付からランダムなメッセージで毎週ローカル通知を設定する

NSDate *date = [NSDate date]; 
    NSDate *oneDaynotification = [date dateByAddingTimeInterval:60*60*24*7]; 
    UILocalNotification* localNotification = [[UILocalNotification alloc] init]; 
    srand((unsigned)time(NULL)); 
    localNotification.fireDate = oneDaynotification; 
    randomMessage = [messgeArray objectAtIndex:arc4random() % [notificationArray count]]; 
    localNotification.alertBody = randomMessage; 
    localNotification.soundName = UILocalNotificationDefaultSoundName; 
    [[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; 

ため

// Notification Random Message Array 
    messgeArray = [NSMutableArray arrayWithObjects:@"Welcome",@"Hello",@"How about you",@"Good Day",nil]; 

//通知私は、任意の通知メッセージが表示されない私のシステム時刻を変更した後、ランダムな通知で毎週通知トリガーを実装する方法いずれかのアドバイスを私に缶それとメッセージ。

+0

http://stackoverflow.com/questions/24874160/weekly-local-notification – user523234

答えて

0

問題は、電話の時刻と日付によって異なります。あなたの目的のために、あなたは日付の時間を取得するためにいくつかのサーバーに接続する必要があります。 別の問題があります。ユーザーがアプリを開いていないとアプリがコードを実行しないため、通知が表示されない場合があります。

1.ソリューションがプッシュ通知サーバーをセットアップします。 だからここにあなたが何ができるかです:

  • セットアップサーバーとのiDevice(Tutorial)へのプッシュ通知。
  • アプリを初めて登録してデバイストークンIDを送信し、日付時間も保存するようなサーバーのロジックを作成します。
  • そして、Cronjob(what is it?)アプリケーションをサーバーで実行します。このアプリケーションは、日付と時刻を取得し、デバイストークンに基づいてメッセージを送信します。

2.サーバーに依存せずに電話機でやりたい場合に備えます。

  • データベースやユーザーの好みに日付と時間を節約するために、ロジックを作成します。ここでは は、あなたが心配する必要がありますものがあります。
  • 毎日1回、サスペンドモードからアプリを起動するためのバックグラウンドサービスを追加します。
  • 日付を計算し、プッシュ通知を表示します。
+0

私の場合、プッシュ通知は使用されません。 – kiran

+0

さて、データベースを使って最初に実行した日時を保存し、保存日から6日が経過した場合は毎日チェックする必要があります。 CLVisitとlocaitonサービスを使用して、毎日アプリを起きます。 –

関連する問題