인디노트

iOS: Push 수신 시점에서 앱의 3가지 실행 상태 본문

소스 팁/Objective C, Swift, iOS, macOS

iOS: Push 수신 시점에서 앱의 3가지 실행 상태

인디개발자 2017. 1. 5. 05:01

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

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

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

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

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


- (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 수신

}

}


반응형
Comments