2012-01-18 22 views
5

Tôi gặp một số khó khăn khi đặt biểu tượng huy hiệu với thông báo lịch biểu địa phương cho ứng dụng ios của tôi.Làm cách nào để bạn đặt applicationIconBadgeNumber bằng scheduleLocalNotification?

Tôi có thể kích hoạt thông báo cục bộ bật lên sau 10 giây khi tôi nhấp vào màn hình chính sau khi tải ứng dụng. Tuy nhiên, số huy hiệu biểu tượng ứng dụng không được đặt. Tôi đang sử dụng mã sau đây.

UILocalNotification *localNotif = [[UILocalNotification alloc] init]; 
if (localNotif == nil) return; 
NSDate *fireTime = [[NSDate date] addTimeInterval:10]; // adds 10 secs 
localNotif.fireDate = fireTime; 
localNotif.alertBody = @"New Message!"; 
localNotif.applicationIconBadgeNumber = 1; 
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif]; 

Tôi không hiểu tại sao thông báo cục bộ bật lên nhưng ứng dụngIconBadgeNumber không được đặt. Tôi có thể đặt số huy hiệu biểu tượng theo cách thủ công bằng cách thực thi mã sau thay thế.

[UIApplication sharedApplication].applicationIconBadgeNumber = 1; 

Trả lời

3

Bạn đang gỡ lỗi trong Trình mô phỏng? Cùng một vấn đề trên giả lập nhưng mã của bạn hoạt động tốt trên iPhone của tôi.

+1

Cảm ơn, tôi chỉ cần cài đặt ios 4.3 và thử nghiệm. Nó hoạt động trên đó. Vì vậy, nó phải có được một lỗi trên giả lập iPhone 5. Câu hỏi – user1157352

3

bạn có đăng ký đơn đăng ký của mình cho tất cả loại thông báo huy hiệu không?

[[UIApplication sharedApplication]registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge]; 

đồng thời, kiểm tra cài đặt thông báo của bạn đã không tắt huy hiệu.

+3

là về thông báo địa phương – Andreas

2

Dưới đây là các mã cho iOS 8+ trong Swift ...

let notificationSettings = UIUserNotificationSettings(forTypes: [UIUserNotificationType.Alert , UIUserNotificationType.Badge, UIUserNotificationType.Sound], categories: nil) 
application.registerUserNotificationSettings(notificationSettings) 
Các vấn đề liên quan