2014-06-14 26 views
8

Xin chào, tôi hiện đang phát triển một ứng dụng sử dụng thông báo đẩy. Tôi đã thành công để làm việc với Parse và ứng dụng của tôi đang nhận được thông báo. Câu hỏi của tôi không phải là làm thế nào để thiết lập lại các huy hiệu khi tôi mở ứng dụng bởi vì tôi đã có mà làm việc với mã này.Đặt lại huy hiệu ứng dụng iOS

- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 

[UIApplication sharedApplication].applicationIconBadgeNumber = 0; 

} 

- (void)application:(UIApplication *)application 
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 
{ 
// Store the deviceToken in the current installation and save it to Parse. 
PFInstallation *currentInstallation = [PFInstallation currentInstallation]; 
[currentInstallation setDeviceTokenFromData:deviceToken]; 
[currentInstallation saveInBackground]; 
} 

- (void)application:(UIApplication *)application 
didReceiveRemoteNotification:(NSDictionary *)userInfo { 
[PFPush handlePush:userInfo]; 
} 

Mã đó xóa huy hiệu khỏi ứng dụng nhưng khi tôi gửi thông báo khác, số bây giờ là 2 thay vì 1. Tôi có thể sửa lỗi này bằng cách nào?

+0

hãy đặt mã đặt giá trị huy hiệu từ thông báo. –

+0

Ok điều đó được thực hiện bằng cách phân tích cú pháp nhưng heres mã tôi nghĩ. –

+0

Mã được thêm vào trong câu hỏi –

Trả lời

15

[UIApplication sharedApplication].applicationIconBadgeNumber = 0; Không giúp xóa huy hiệu khi phân tích cú pháp. Tôi chỉ đọc Parse Push notification Guide Documentation và Tài liệu cho biết.

huy hiệu: Giá trị hiện tại của huy hiệu biểu tượng cho ứng dụng iOS. Thay đổi giá trị này trên PFInstallation sẽ cập nhật giá trị huy hiệu trên biểu tượng ứng dụng. Các thay đổi sẽ được lưu vào máy chủ để chúng sẽ được sử dụng cho các thông báo đẩy tăng huy hiệu trong tương lai.

huy hiệu: (chỉ iOS) giá trị được biểu thị ở góc trên cùng bên phải của biểu tượng ứng dụng. Điều này có thể được thiết lập để một giá trị hoặc để tăng để tăng giá trị hiện tại bằng cách 1.

Xoá các Badge Bạn cần phải làm luật như:

- (void)applicationDidBecomeActive:(UIApplication *)application { 
    PFInstallation *currentInstallation = [PFInstallation currentInstallation]; 
    if (currentInstallation.badge != 0) { 
    currentInstallation.badge = 0; 
    [currentInstallation saveEventually]; 
    } 
    // ... 
} 
+0

Cảm ơn bạn rất nhiều đã làm việc !! –

+0

Tôi đã thử nhưng nó nói rằng tôi phải đợi 1 phút. –

+0

Có nó được thực hiện nhờ một lần nữa! –

4

Đối với bất cứ ai tìm kiếm như thế nào để đặt lại huy hiệu nhanh chóng, đây là câu trả lời nhanh chóng của câu trả lời @ nitin đã được phát hiện trên đó.

func applicationDidBecomeActive(application: UIApplication) { 
    var current: PFInstallation = PFInstallation.currentInstallation() 
    if (current.badge != 0) { 
     current.badge = 0 
     current.saveEventually() 
    } 
} 
Các vấn đề liên quan