18

Tôi đang cố gắng sử dụng Firebase để xử lý thông báo đẩy. Tôi đã cài đặt Firebase nhóm vỏ ('Firebase/Core' và 'FirebaseMessaging').Sử dụng loại không khai báo UNAuthorizationOptions

Và sau khi tôi nhập khẩu căn cứ hỏa lực cho dự án

import Firebase 

Tôi đã cấu hình ứng dụng căn cứ hỏa lực như thế này (mã được sao chép từ các tài liệu chính thức):

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) 
-> Bool {FIRApp.configure() } 

Sau đó tôi đã cố gắng để sử dụng mã này (mã được sao chép từ tài liệu chính thức):

if #available(iOS 10.0, *) { 
      let authOptions : UNAuthorizationOptions = [.alert, .badge, .sound] 
      UNUserNotificationCenter.current().requestAuthorization(
       options: authOptions, 
       completionHandler: {_,_ in }) 

      // For iOS 10 display notification (sent via APNS) 
      UNUserNotificationCenter.current().delegate = self 
      // For iOS 10 data message (sent via FCM) 
      FIRMessaging.messaging().remoteMessageDelegate = self 

     } else { 
      let settings: UIUserNotificationSettings = 
       UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil) 
      application.registerUserNotificationSettings(settings) 
     } 

     application.registerForRemoteNotifications() 

Nhưng tôi gặp lỗi từ tiêu đề mà nói:

Sử dụng UNAuthorizationOptions loại không khai báo

cũng Tôi gặp các lỗi tương tự liên quan đến lớp UNUserNotificationCenter.

Tôi đang sử dụng Swift 2.2 và Xcode 7.3.1

Nguyên nhân gây ra lỗi này là gì?

Trả lời

20

UserNotifications.framework có sẵn từ iOS 10 và bạn đang làm việc với Xcode 7.3 có nghĩa là iOS 9 trở xuống, Vì vậy, bạn không cần thêm if #available(iOS 10.0, *) {, chỉ viết một phần khác trực tiếp và đăng ký thông báo từ xa.

let settings: UIUserNotificationSettings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil) 
application.registerUserNotificationSettings(settings) 
application.registerForRemoteNotifications() 
+0

Vui lòng kiểm tra câu trả lời đã chỉnh sửa. –

+0

Ah cảm ơn, xấu của tôi. tôi đã không thực sự sử dụng chỉ thị # available cho đến nay. Phải đọc những thứ đó :) – Whirlwind

+0

@Whirlwind Welcome mate :) –

16

bạn cần phải import UserNotifications trước khi gọi những khung đó. Và những gì Nirav D nói là đúng, nó là một framework mới trong iOS 10, cũng nên nhớ chọn đúng mục tiêu triển khai.

Các vấn đề liên quan