我想做出本地通知,每天通知用戶5次並每天重複, 我有一個可變數組,其對象是「hh:mm」,其中小時和分鐘對於GMT + 3鎮,所以我得到當前日期並找到間隔,然後創建通知 的日期,這是我實施的方法。 - 首次應用時區, - 秒如果當前時間之前的時間,所以使它爲第二天。 - 第三次設置當天的通知。 plz幫助我本地通知問題iphone
1
A
回答
0
與使用此示例代碼,我有安排2通知一個在上午上午07點,一個在晚上18點,並每天重複它和它的作品超細希望你能找到你的解決方案與此使用。
#pragma mark
#pragma mark - Notification Setup
-(void)clearNotification
{
[[UIApplication sharedApplication] cancelAllLocalNotifications];
}
-(void)scheduleNotification
{
[[UIApplication sharedApplication] cancelAllLocalNotifications];
NSMutableArray *arrTemp = [APPDELEGATE.userDefaults valueForKey:@"ParsingResponse"];
Class cls = NSClassFromString(@"UILocalNotification");
if (cls != nil) {
NSDate *now = [NSDate date];
NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDateComponents *components = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:now];
[components setHour:7];
[components setMinute:0];
NSDate *today7am = [calendar dateFromComponents:components];
UILocalNotification *notif = [[cls alloc] init];
notif.fireDate = today7am;
notif.timeZone = [NSTimeZone defaultTimeZone];
notif.repeatCalendar = [NSCalendar currentCalendar];
notif.alertBody = [[arrTemp objectAtIndex:0] objectForKey:@"Noti_Morning"];
notif.alertAction = @"Show me";
notif.soundName = UILocalNotificationDefaultSoundName;
notif.repeatInterval = NSDayCalendarUnit;
NSDictionary *infoDict = [NSDictionary dictionaryWithObjectsAndKeys:@"Morning", @"key", nil];
notif.userInfo = infoDict;
[[UIApplication sharedApplication] scheduleLocalNotification:notif];
[notif release];
NSCalendar *calendar2 = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDateComponents *components2 = [calendar2 components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:now];
[components2 setHour:18];
[components2 setMinute:0];
NSDate *today6pm = [calendar2 dateFromComponents:components2];
UILocalNotification *notif2 = [[cls alloc] init];
notif2.fireDate = today6pm;
notif2.timeZone = [NSTimeZone defaultTimeZone];
notif2.repeatCalendar = [NSCalendar currentCalendar];
notif2.alertBody = [[arrTemp objectAtIndex:0] objectForKey:@"Noti_Evening"];
notif2.alertAction = @"Show me";
notif2.soundName = UILocalNotificationDefaultSoundName;
notif2.repeatInterval = NSDayCalendarUnit;
NSDictionary *infoDict2 = [NSDictionary dictionaryWithObjectsAndKeys:@"Evening", @"key", nil];
notif2.userInfo = infoDict2;
[[UIApplication sharedApplication] scheduleLocalNotification:notif2];
[notif2 release];
}
}
+0
這裏是同樣的問題,我問我的情況,最後經過大量的研究得到了解決方案http://stackoverflow.com/q/18916631/2695503 –
+0
真的很感謝你的幫助謝謝 – user2768121
相關問題
- 1. 本地通知問題
- 2. 本地通知問題
- 3. Iphone多個本地通知
- 4. iphone中的本地通知
- 5. 本地通知iPhone sdk
- 6. iPhone:每日本地通知
- 7. Iphone推送通知問題
- 8. 本地通知調度問題
- 9. iOS中的本地通知問題
- 10. 問題在本地通知不點火
- 11. iPhone本地化問題
- 12. mysql /通知腳本問題
- 13. 使iPhone在本地通知上振動
- 14. 本地通知,而iphone只解鎖
- 15. 本地通知不在iphone中觸發
- 16. iPhone的SDK:本地通知限制
- 17. iPhone中的多個本地通知
- 18. 如何取消本地通知iphone
- 19. 特定時間的iPhone本地通知
- 20. iPhone SDK中前臺的本地通知
- 21. iPhone iOS:本地通知未顯示
- 22. 本地通知不在iphone中觸發
- 23. 將iPhone從本地通知轉到iBeacon
- 24. 模擬器中的iphone本地通知
- 25. iPhone本地通知將不會出現
- 26. 本地通知不取消iphone
- 27. 問題與推送通知IPhone
- 28. iPhone 5,5s推送通知問題
- 29. iPhone:推送通知設置問題
- 30. Iphone推送通知服務問題
你只需要設置5個不同的不同的通知以所需的輸入定時,並設置重複間隔notif.repeatInterval = NSDayCalendarUnit;這個。 –
我做過了,但是如果發射通知的日期在當前時間之前發生,那麼我會在第二天發作。 – user2768121
它只是因爲你正在測試,不用擔心用戶會準時得到它,因爲他們不會改變時間和所有的東西,所以不介意這個問題。 –