Archived
Added done button to keyboard in Customization View Controller, added code for Firebase notifications (non-functional without APNs key from a developer account)
This commit is contained in:
+33
-20
@@ -10,7 +10,7 @@ import UIKit
|
||||
import Firebase
|
||||
|
||||
@UIApplicationMain
|
||||
class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate, MessagingDelegate {
|
||||
|
||||
var window: UIWindow?
|
||||
|
||||
@@ -19,27 +19,40 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
|
||||
FirebaseApp.configure()
|
||||
|
||||
// if #available(iOS 10.0, *) {
|
||||
// // For iOS 10 display notification (sent via APNS)
|
||||
// UNUserNotificationCenter.current().delegate = self
|
||||
//
|
||||
// let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
|
||||
// UNUserNotificationCenter.current().requestAuthorization(
|
||||
// options: authOptions,
|
||||
// completionHandler: {_, _ in })
|
||||
// } else {
|
||||
// let settings: UIUserNotificationSettings =
|
||||
// UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
|
||||
// application.registerUserNotificationSettings(settings)
|
||||
// }
|
||||
//
|
||||
// application.registerForRemoteNotifications()
|
||||
|
||||
Messaging.messaging().subscribe(toTopic: "substitutions-ios")
|
||||
Messaging.messaging().subscribe(toTopic: "substitutions-broadcast")
|
||||
Crashlytics.sharedInstance().setUserIdentifier(UserDefaults.standard.string(forKey: "username"))
|
||||
if #available(iOS 10.0, *) {
|
||||
// For iOS 10 display notification (sent via APNS)
|
||||
UNUserNotificationCenter.current().delegate = self
|
||||
|
||||
let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
|
||||
UNUserNotificationCenter.current().requestAuthorization(
|
||||
options: authOptions,
|
||||
completionHandler: {_, _ in })
|
||||
} else {
|
||||
let settings: UIUserNotificationSettings =
|
||||
UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
|
||||
application.registerUserNotificationSettings(settings)
|
||||
}
|
||||
|
||||
application.registerForRemoteNotifications()
|
||||
InstanceID.instanceID().instanceID { (result, error) in
|
||||
if let error = error {
|
||||
print("Error fetching remote instance ID: \(error)")
|
||||
} else if let result = result {
|
||||
print("Remote instance ID token: \(result.token)")
|
||||
}
|
||||
}
|
||||
Messaging.messaging().delegate = self
|
||||
return true
|
||||
}
|
||||
|
||||
func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
|
||||
print("Firebase registration token: \(fcmToken)")
|
||||
|
||||
let dataDict:[String: String] = ["token": fcmToken]
|
||||
NotificationCenter.default.post(name: Notification.Name("FCMToken"), object: nil, userInfo: dataDict)
|
||||
// TODO: If necessary send token to application server.
|
||||
// Note: This callback is fired at each app startup and whenever a new token is generated.
|
||||
}
|
||||
|
||||
func applicationWillResignActive(_ application: UIApplication) {
|
||||
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
|
||||
|
||||
Reference in New Issue
Block a user