- Register your app for push notifications
- Subcribe your UIViewController(s) for new push notifications
- If you found a bug, open an issue.
- If you have a feature request, open an issue.
- If you want to contribute, submit a pull request.
PushNotificationHandler is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "PushNotificationHandler"Then, run the following command:
$ pod installIn your AppDelegate.swift file
import PushNotificationHandlerfunc application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
PushNotificationHandler.sharedInstance.registerForPushNotifications(application)
PushNotificationHandler.sharedInstance.handleApplicationStartWith(application, launchOptions: launchOptions)
PushNotificationHandler.sharedInstance.registerNewAPNSTokenHandler { (tokenData, token, error) -> (Void) in
if let validToken = token {
print("Device Token:", validToken)
} else {
print("Device token error: " + (error?.description ?? "Strange things are happening"))
}
}
}Also implement the methods as following
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
PushNotificationHandler.sharedInstance.application(application, didReceiveRemoteNotification: userInfo)
}func application(application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings) {
PushNotificationHandler.sharedInstance.application(application, didRegisterUserNotificationSettings: notificationSettings)
}func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
PushNotificationHandler.sharedInstance.application(application, didRegisterForRemoteNotificationsWithDeviceToken: deviceToken)
}func application(application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: NSError) {
PushNotificationHandler.sharedInstance.application(application, didFailToRegisterForRemoteNotificationsWithError: error)
}In your UIViewController file
import PushNotificationHandlerYour controller must implement PushNotificationSubscriber protocol
override func viewDidLoad() {
super.viewDidLoad()
PushNotificationHandler.sharedInstance.subscribeForPushNotifications(self)
}deinit {
PushNotificationHandler.sharedInstance.unsubscribeForPushNotifications(self)
}func newPushNotificationReceived(aps: [String : AnyObject]) {
//do something with the push notification
}That's it!
George Tsifrikas
PushNotificationHandler is available under the MIT license. See the LICENSE file for more info.