8

bất cứ ai có thể giúp tôi với triển khai thực hiện thông báo đẩy cho iOS 10 như tôi đã thực hiện sau mã nhưng vẫn nhận được vấn đề trong đó:Làm cách nào để triển khai thông báo đẩy cho iOS 10 [Objective C]?

#define SYSTEM_VERSION_GRATERTHAN_OR_EQUALTO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending) 

if(SYSTEM_VERSION_GRATERTHAN_OR_EQUALTO(@"10.0")) 
{ 
    UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; 
    center.delegate = self; 
    [center requestAuthorizationWithOptions:(UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge) completionHandler:^(BOOL granted, NSError * _Nullable error){ 
     if(!error){ 
      [[UIApplication sharedApplication] registerForRemoteNotifications]; 
     } 
    }]; 
} 
else { 
    // Code for old versions 
} 

Tôi nhận lỗi gợi ý rằng

Unknown nhận UIUserNotificationCenter

Cảm ơn bạn trước!

+0

thấy điều này http://stackoverflow.com/questions/39382852/didreceiveremotenotification-not-called-ios-10/39383027 # 39383027 –

Trả lời

25

Xin lỗi các bạn, tôi đã nhận được câu trả lời. Tôi chỉ cần nhập UserNotifications khuôn khổ.

#import <UserNotifications/UserNotifications.h> 
0

Kiểm tra này

#import <UserNotifications/UserNotifications.h> 

Sau đó

if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_9_x_Max) { 
     UIUserNotificationType allNotificationTypes = 
     (UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge); 
     UIUserNotificationSettings *settings = 
     [UIUserNotificationSettings settingsForTypes:allNotificationTypes categories:nil]; 
     [application registerUserNotificationSettings:settings]; 
    } else { 
     // iOS 10 or later 
#if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 
     // For iOS 10 display notification (sent via APNS) 
     [UNUserNotificationCenter currentNotificationCenter].delegate = self; 
     UNAuthorizationOptions authOptions = 
     UNAuthorizationOptionAlert 
     | UNAuthorizationOptionSound 
     | UNAuthorizationOptionBadge; 
     [[UNUserNotificationCenter currentNotificationCenter] requestAuthorizationWithOptions:authOptions completionHandler:^(BOOL granted, NSError * _Nullable error) { 
     }]; 
#endif 
    } 
Các vấn đề liên quan