Programing

iOS 앱 아이콘에서 배지 제거

lottogame 2021. 1. 9. 09:18
반응형

iOS 앱 아이콘에서 배지 제거


제가 만들려고하는이 애플리케이션에서는 푸시 알림을 사용합니다. 이 부분은 잘 작동합니다. 알림을 보낼 때 앱 아이콘에 배지도 추가합니다. 문제는 내가 응용 프로그램을 점심 때 다시 사라져야하지만 그렇지 않다는 것입니다.

-(IBAction)Push{

    NSMutableDictionary *data = [NSMutableDictionary dictionary];

    [data setObject:@"Numfeud: Troels made a move!" forKey:@"alert"];

    [data setObject:[NSNumber numberWithInt:1] forKey:@"badge"];

    [data setObject:@"bar" forKey:@"foo"];

    [PFPush sendPushDataToChannelInBackground:@"GameChannel2" withData:data];
}

에서 application didFinishLaunchingWithOptions나는이 방법으로 0으로 설정 배지하려고 :

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;

응용 프로그램 아이콘 배지를 지우려면 어떻게합니까?


앱이 다시 활성화되고 여전히 백그라운드에있는 경우 배지 카운트도 재설정해야 -applicationDidBecomeActive:합니다.

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    application.applicationIconBadgeNumber = 0;
}

앱이 여전히 백그라운드에서 실행중인 -application:didFinishLaunchingWithOptions:경우 호출되지 않습니다.


-application:didFinishLaunchingWithOptions:앱이 여전히 백그라운드에서 실행 중이므로이 호출되지 않을 수 있습니다. 앱이 백그라운드에서 실행될 때 배지 수를 제거하려면에서도 배지 번호를 재설정해야합니다 -applicationWillEnterForeground:.


Swift 및 In AppDelegate에서

func applicationDidBecomeActive(_ application: UIApplication) {
    application.applicationIconBadgeNumber = 0
}

이 코드도 사용할 수 있습니다.

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    application.applicationIconBadgeNumber = 0;
}

또는 특정 ViewController에서

- (void)awakeFromNib {
   [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
}

applicationWillResignActive(에서 AppDelegate.m) 호출 할 수도 있습니다 .

-(void)applicationWillResignActive:(UIApplication *)application{
    [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
}

이것은 당신이 삭제하는 데 도움이 될 것입니다 badge경우 push응용 프로그램이 열려있는 때 온다. 사용자가 (한 번 또는 두 번) notification누르면 사용자가보고 지 웁니다 Home Button. 경우 또한 그것은 분명있을 것 appclosed(사용자를 연 후 취소).

다음은 이 메소드를 호출 할 때 볼 수 있습니다.

참조 URL : https://stackoverflow.com/questions/9557132/removing-badge-from-ios-app-icon

반응형