IOS 10 원 격 푸 시 어댑터 상세 소개
iOS 10 푸 시 는 User Notifications Framework 를 새로 추 가 했 습 니 다.사용 하기 가 쉽 습 니 다.
극광 푸 시 데모 를 살 펴 보 는 것 이 좋 습 니 다.더 자세히 쓰 여 있 습 니 다.
다만 iOS 10 이상 시스템 에서 알림 표시 줄 을 클릭 하고 리 셋 방법 은 원래 의 이 두 가지 방법 으로 가지 않 습 니 다.
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo {}
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {}
프런트 에서 돌려 주 는 거 예요.
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
willPresentNotification:(UNNotification *)notification
withCompletionHandler:(void (^)
(UNNotificationPresentationOptions))completionHandler
백 스테이지 에서 들 어 올 때 리 턴.
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
didReceiveNotificationResponse:(UNNotificationResponse *)response
withCompletionHandler:(void (^)())completionHandler
직접 어떻게 쓰 는 지 말 해 보 세 요.1.헤더 파일 가 져 오기
#ifdef NSFoundationVersionNumber_iOS_9_x_Max
#import <UserNotifications/UserNotifications.h>
#endif
2,등록 알림-(BOOL)application:(UIApplication*)application didFinishLaunching WithOptions:(NSDictionary*)launchOptions 방법 중
if (iOS10) {
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
center.delegate = self;
[center requestAuthorizationWithOptions:(UNAuthorizationOptionBadge
| UNAuthorizationOptionSound | UNAuthorizationOptionAlert)
completionHandler:^(BOOL granted, NSError * _Nullable error) {
if (!error) {
NSLog(@"succeeded!");
}
}];
} else if (iOS8_9){//iOS8-iOS9
UIUserNotificationSettings *settings = [UIUserNotificationSettings
settingsForTypes:(UIUserNotificationTypeBadge | UIUserNotificationTypeAlert
| UIUserNotificationTypeSound) categories:nil];
[application registerUserNotificationSettings:settings];
[application registerForRemoteNotifications];
} else {//iOS8
[application registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge
| UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound];
}
3.리 셋 방법 에서 알림 데 이 터 를 가 져 옵 니 다.
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
didReceiveNotificationResponse:(UNNotificationResponse *)response
withCompletionHandler:(void (^)())completionHandler {
NSDictionary *userInfo = response.notification.request.content.userInfo;
//
if([request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {
//
}else {
//
}
}
4.로 컬 알림 에 변화 가 없 음
-(void)application:(UIApplication *)application
didReceiveLocalNotification:(UILocalNotification *)notification
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!