0

로컬 알림을 설정하고 싶습니다. 매주 응용 프로그램이 설치되고 알림 메시지가 임의 화 될 때마다 메시지를 알립니다. 모든 주에 대한설정 방법 임의의 메시지로 현재 날짜부터 매주 Localnotification을 설정합니다.

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

는 // 알림

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]; 

내가 어느 한 조언 나를 어떻게 임의 통지와 함께 매주 알림 트리거를 구현할 수 내가 어떤 알림 메시지가 표시되지 않는 내 시스템 시간을 변경 한 후 그것으로 메시지.

+0

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

답변

0

문제는 휴대 전화의 시간과 날짜에 따라 다릅니다. 당신의 목적을 위해, 당신은 날짜 시간을 얻기 위해 어떤 서버에 연결해야 할 수도 있습니다. 다른 문제가 있습니다. 사용자가 앱을 열지 않으면 앱이 코드를 실행하지 않아 알림을 표시하지 않을 수 있습니다.

1. 해결책은 푸시 알림 서버를 설정하는 것입니다. 그래서 여기 은 당신이 할 수있는 것입니다 :

  • 설치 서버와의 iDevice (Tutorial)에 푸시 알림.
  • 처음으로 응용 프로그램이 장치 토큰 ID를 등록하고 보내고 날짜 시간도 저장하도록 서버에서 논리를 만듭니다.
  • 그리고 Cronjob (what is it?) 응용 프로그램을 서버에서 실행하면 날짜와 시간이 소요되고 장치 토큰을 기반으로 메시지가 전송됩니다.

2. 서버에 의존하지 않고 전화기 자체에서 수행하려는 경우를 대비하여. 관심있는 사항은 다음과 같습니다.

  • 데이터베이스 또는 사용자 기본 설정에 날짜와 시간을 저장하려면 논리를 만듭니다.
  • 일시 중지 모드에서 앱을 매일 한 번 깨우는 백그라운드 서비스를 추가합니다.
  • 날짜를 계산하고 푸시 알림을 표시합니다.
+0

내 경우에는 푸시 알림이 사용되지 않습니다. – kiran

+0

그런 다음 데이터베이스를 사용하여 처음 실행되는 날짜 시간을 저장하고 저장된 날짜의 6 일이 경과했는지 여부를 매일 확인해야 할 수 있습니다. CLVisit 및 locaiton 서비스를 사용하여 매일 앱을 깨우십시오. –