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
'개발 > iOS' 카테고리의 다른 글
NSURL Request - Objective-C (0) | 2022.01.27 |
---|---|
UITableview 기본 소스코드 - Objective-C (0) | 2022.01.27 |
iOS 디바이스 크기 알아오기 (0) | 2018.06.07 |
iOS String에 공백 제거 (Trim) (0) | 2018.01.18 |
리모트로 아이폰 패킷 캡쳐하는 방법 (1) | 2017.12.08 |
iOS - 아이폰 디자인 가이드 (0) | 2017.12.05 |
iOS 싱글톤 객체 만드는 방법 (0) | 2017.12.01 |
iOS 커스텀 폰트 등록하기 (0) | 2017.10.30 |