iOS 10 이상 APNS 관련 AppDelegate에 작성되는 메소드

개발/iOS 2020. 11. 19. 10:36
반응형

//최초 호출 메서드로 앱이 최초로 실행될 때 호출 (Launch mode)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

 

// Background 전환, 앱이 완전 종료될 때, 화면 잠김 시, 홈버튼 더블탭 동작 때 호출

- (void)applicationWillResignActive:(UIApplication *)application

 

// Background 전환

- (void)applicationDidEnterBackground:(UIApplication *)application

 

// Foreground 전환

- (void)applicationWillEnterForeground:(UIApplication *)application

 

// 프로그램이 다시 실행될 때 호출 (Foreground 전환, 프로그램 실행, 화면 다시 켤 때 등)

- (void)applicationDidBecomeActive:(UIApplication *)application

 

// 프로그램이 suspend 될 때 호출 (Background 전환, 프로그램 종료, 화면 잠김 등)

- (void)applicationWillTerminate:(UIApplication *)application

 

// 앱이 실행중일때 푸시가 오면 받아주는 부분

// iOS9 이하의 푸시를 받는 부분

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

 

// iOS10 이상 앱이 백그라운드이거나 종료상태일 때 푸시 발생 시 실행되는 부분

- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler

 

// iOS10 이상 앱이 포그라운드일 때 푸시 발생 시 실행되는 부분

- (void) userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler

 

// FCM : iOS10 이상 앱이 포그라운드일 때 해당 함수 선언해야 FCM푸시가 발생함

- (void) applicationReceivedRemoteMessage:(FIRMessagingRemoteMessage *)remoteMessage

 

// FCM : FCM토큰이 업데이트될 때마다 해당 메소드로 토큰을 얻을 수 있음

- (void) message:(nonnull FIRMessaging *)messaging didRefreshRegistrationToken:(nonnull NSString *)fcmToken

 

// APNS 등록이 성공하고 DeviceToken을 전달받으면 이 메서드가 실행

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

 

// APNS 등록이 실패하면 이 메서드가 실행

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error

 

// Custom URL로 App을 호출할 때 openURL을 통해 데이터를 전송

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

 

참고:

iOS 10 이상 Push 처리시

 

1) 헤더 추가

#import <UserNotifications/UserNotifications.h>

2) 코드

notification.request.content.userInfo 로 처리가 가능하다. 

 

 

 

출처: http://egloos.zum.com/tiger5net/v/5700748

 

AppDelegate의 정의된 함수 설명

//최초 호출 메소드로 앱이 최초로 실행될 때 호출 (Launch mode)- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions// Background 전환, 앱이 완전 종료될 때, 화면 잠김 시

egloos.zum.com

 

반응형
admin