Develop

[ios] APNS, Remote Push 수신 시점에서 앱의 3가지 실행 상태

by hooni posted Oct 19, 2018
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

iOS 앱에서 push를 수신할 때, 앱의 상태는 다음의 세 가지 상태 중 하나에 있다.


1. 앱이 실행 상태가 아님( push 수신으로 실행됨 )


2. 앱이 foreground( 실행 중 ) 상태에서 push를 수신함


3. 앱이 background 상태에서 push를 수신함


각각의 상태에서 별도의 다른 동작을 위해 이 상태를 구분할 수 있어야 하고, AppDelegate 내에서 다음의 코드를 통해 구분이 가능하다.


# Objective-C

- (BOOL)application:(UIApplication *)application 
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
 
    if (launchOptions && [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]) {
        // 1번 상태에서 push 수신
    }
 
    return YES;
}
 
 
- (void)application:(UIApplication *)application 
    didReceiveRemoteNotification:(NSDictionary *)userInfo
{
    if (application.applicationState == UIApplicationStateActive) {
        // 2번 상태에서 push 수신
    }
    else {
        // 3번 상태에서 push 수신
    }
}