2015-10-26 40 views
16

tôi muốn sử dụngThiết lập số huy hiệu ứng dụng trong ios 9

[UIApplication sharedApplication].applicationIconBadgeNumber = 5; 

để thiết lập số huy hiệu ứng. Nó không hoạt động trong ios 9 một mình.

Có ai có thể đề xuất lý do không?

tôi đã cố gắng,

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:5]; 
+0

nơi/trong đó phương pháp bạn đã thử này –

+0

@ Anbu.Karthik, tôi đã sử dụng điều này ở một vài nơi trong dự án của mình. Nó hoạt động tốt trong ios 8. – NAZIK

+0

@ Anbu.Karthik, tôi cần thay đổi số hiệu huy hiệu không có trong appdelegate.m, trong một số chế độ xem khác. – NAZIK

Trả lời

24

Hi Bạn cần phải đăng ký UIUserNotificationSettings như thế này

UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil]; 

[[UIApplication sharedApplication] registerUserNotificationSettings:notificationSettings]; 

[UIApplication sharedApplication].applicationIconBadgeNumber = 1; 
+1

không có thông báo, tôi đang đặt số huy hiệu cho biểu tượng ứng dụng của mình. vì vậy không cần đăng ký cài đặt thông báo – NAZIK

+0

[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 5]; Sử dụng tính năng này trong didFinishLaunchingWithOptions hoạt động tốt –

+0

nó không hoạt động trong ios 9. u đã thử nó trong ios 9 chưa? – NAZIK

0

Set nó trong bạn Appdelegate.m File trong didFinishLaunching phương pháp ...

application.applicationIconBadgeNumber = 5.

và thay đổi ngày hiện tại của bạn để sau 2 ngày và khởi động lại iPhone của bạn .. và kiểm tra lại. Nó sẽ hoạt động tốt.

enter image description here

+1

Vì iOS 8 này không hoạt động nữa mà không yêu cầu người dùng cho phép thay đổi huy hiệu biểu tượng ứng dụng. –

4

Đăng ký cho các loại thông báo trong iOS

Trong iOS 8 và sau đó, các ứng dụng sử dụng thông báo địa phương hoặc từ xa phải đăng ký các loại thông báo mà họ định gửi. Hệ thống sau đó cung cấp cho người dùng khả năng giới hạn các loại thông báo mà ứng dụng của bạn hiển thị. Hệ thống không biểu tượng huy hiệu, hiển thị thông báo cảnh báo hoặc phát âm thanh cảnh báo nếu bất kỳ loại nào trong số này loại thông báo không được bật cho ứng dụng của bạn, ngay cả khi chúng là được chỉ định trong tải trọng thông báo. Liên kết: Docs

@property (nonatomic) NSInteger applicationIconBadgeNumber; // đặt thành 0 để ẩn. mặc định là 0. Trong iOS 8.0 trở lên, ứng dụng của bạn phải đăng ký thông báo người dùng bằng cách sử dụng - [UIApplication registerUserNotificationSettings:] trước khi có thể đặt biểu tượng huy hiệu.

Vì vậy, tôi nghĩ bạn phải đăng ký huy hiệu cho thông báo số thay đổi.

+0

cảm ơn câu trả lời của bạn, đã đăng ký và đã thử nhưng không có may mắn. – NAZIK

+0

Ứng dụng của tôi đã có chức năng push notif, nó hoạt động tốt trong ios 8, vấn đề nằm ở ios 9. – NAZIK

+1

Tôi chỉ kiểm tra với iOS 9. Tôi đăng ký: 'UIUserNotificationType types = UIUserNotificationTypeBadge;' 'UIUserNotificationSettings * mySettings = [ UIUserNotificationCài đặt cài đặtForTypes: loại danh mục: nil]; ' ~ [[UIApplication sharedApplication] registerUserNotificationSettings: mySettings]; ~ và tôi đặt: [[UIApplication sharedApplication] setApplicationIconBadgeNumber: 5]; –

1

Nó hoạt động một cách hoàn hảo như thế này:

[UIApplication sharedApplication].applicationIconBadgeNumber = 10; 

tôi đã cố gắng trong Xcode 7.2, iOS 9.2, iPhone 6s Plus.

Các vấn đề liên quan