푸시 알림없이 iOS 배지 업데이트


86

자정에 앱 배지를 업데이트하여 항상 올바른 수의 작업을 표시하는 몇 가지 할일 앱을 보았습니다. 푸시 알림을 사용 하지 않고이 작업을 수행 하므로 제 질문은 어떻게하나요? 로컬 알림을 사용하나요? 그렇다면 기기가 꺼 졌을 때 이러한 알림이 호출 되나요? 나는 약간 혼란스럽고 약간의 의견을 주시면 감사하겠습니다.

답변:


137

이 시도

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];

로컬 알림을 통해이 작업을 수행하려면 다음에서 값을 설정해야합니다. applicationIconBadgeNumber

UILocalNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.applicationIconBadgeNumber = 1;// set here the value of badge

1
이것은 배지 번호를 변경하는 방법입니다.하지만 앱이 백그라운드에 있거나 전화기가 절전 모드 일 때이를 수행하려면 로컬 알림 또는 예약 된 작업을 살펴 ​​봐야 할 수 있습니다.
Jasarien

2
iOS 8.0 이상에서 애플리케이션은 아이콘 배지를 설정하기 전에-[UIApplication registerUserNotificationSettings :]를 사용하여 사용자 알림을 등록해야합니다.
unom

17

새롭고 반짝이는 Swift를 사용하는 모든 사람들을 위해 :

UIApplication.sharedApplication().applicationIconBadgeNumber = someNumber

스위프트 3 :

UIApplication.shared.applicationIconBadgeNumber = someNumber

2
신속한 답변을 제안 할 때 현재 매우 동적이기 때문에 어떤 버전을 다루고 있는지 포함하는 것이 좋습니다.
Juan Boero 2015

그래 네가 맞아 ; 그러나이 경우, 아마도 변경할 수있는 구문 아무것도 :) 그래서 아마도 필요하지 않습니다 (간단 과제입니다)이 없습니다
지리산 Trecak

3
Jiri, 돌이켜 보면 재미있는 코멘트 ;-)
Tim

13

iOS 4.0부터는 iOS 4.0 이상을 실행하는 모든 기기에서 로컬 알림을 실행할 수 있습니다. 로 봐 UILocalNotification클래스, 당신이 앱 실행없이 자정에 배지를 설정할 수 있습니다.


음, iPhone은 전원이 꺼진 상태에서도 알람 시계를 시작할 수 없으므로 배지가 업데이트되지 않습니다. 그러나 다시 켜면 배지를 업데이트하는 알림이 실행됩니다.
JustSid

좋아, 그게 내가 알고 싶었던 것입니다. 감사!
fabian789

7

애플리케이션이 실행 중일 때 코드에서 UIApplicationapplicationIconBadgeNumber속성을 설정 합니다.

[UIApplication sharedApplication].applicationIconBadgeNumber = someNumber;

0

Objective C의 경우 다음을 사용해야합니다.

[[UIApplication sharedApplication] setApplicationIconBadgeNumber : anyNumber ];            

0

스위프트 5

UIApplication.shared.applicationIconBadgeNumber = someNumber
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.