18

मैं पुश नोटिफिकेशन को संभालने के लिए फ़ायरबेस का उपयोग करने का प्रयास कर रहा हूं। मैंने Firebase पॉड ('फायरबेस/कोर' और 'फायरबेस मैसेजिंग' फोड) स्थापित किया है।अविकसित प्रकार का उपयोग UNAuthorizationOptions

और बाद मैं परियोजना

import Firebase 

मैं (कोड आधिकारिक डॉक्स से नकल कर रहा है) इस तरह Firebase एप्लिकेशन को कॉन्फ़िगर किया करने के लिए Firebase आयातित:

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

उसके बाद मैं करने के लिए कोशिश की है इस कोड का उपयोग करें (कोड आधिकारिक दस्तावेज़ों से कॉपी किया गया है):

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() 

लेकिन मुझे शीर्षक से त्रुटि मिली जो कहते हैं: अघोषित प्रकार UNAuthorizationOptions

भी मैं एक ही UNUserNotificationCenter वर्ग से संबंधित त्रुटि हो रहा है की

का प्रयोग करें।

मैं स्विफ्ट 2.2 और Xcode 7.3.1

इस त्रुटि का कारण क्या है उपयोग कर रहा हूँ?

उत्तर

20

UserNotifications.framework आईओएस 10 से उपलब्ध है और आप एक्सकोड 7.3 के साथ काम कर रहे हैं आईओएस 9 और उससे कम के साथ, तो if #available(iOS 10.0, *) { जोड़ने के लिए आपको कोई आवश्यकता नहीं है, केवल अन्य भाग सीधे लिखें और दूरस्थ सूचनाएं पंजीकृत करें।

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

कृपया संपादित उत्तर की जांच करें। –

+0

आह धन्यवाद, मेरा बुरा। मैंने अभी तक # उपलब्ध निर्देश का उपयोग नहीं किया है। उस सामान को पढ़ना है :) – Whirlwind

+0

@Wirlwind आपका स्वागत है दोस्त :) –

16

आपको उन ढांचे को कॉल करने से पहले import UserNotifications की आवश्यकता है। और निर्वाण डी क्या सच है, यह आईओएस 10 में एक नया ढांचा है, सही तैनाती लक्ष्य का चयन करना भी याद रखना चाहिए।

संबंधित मुद्दे