Latest1.0
Homepagehttps://github.com/quockhai/KQNotification
LicenseMIT
Platformsios 10.0
Authors

KQNotification

A Swift class which helps you create local, daily, weekly notifications and add actions for user notification easily.

Platform: iOS 10+Language: Swift 4
License: MIT

Installation

Download the project and copy the Source folder into your project and then simply you can use it in any file

Usage

Register

Register notification in didFinishLaunchingWithOptions

KQNotification.shared.registerNotification(withOptions: [.alert, .badge, .sound], completion: nil)

Time Notification

// Notification after times (seconds)
KQNotification.shared.notification(identifier: "notificationID", title: "KQNotification", body: "Local notification", after: 100, completion: nil)

// Notification after times (seconds) and repeat
KQNotification.shared.repeatsNotification(identifier: "repeatNotificationID", title: "KQNotification", body: "Repeat notification", after: 100, completion: nil)

// Notification after times (seconds) with actions
let snoozeAction = UNNotificationAction(identifier: "Snooze", title: "Snooze", options: [])
let deleteAction = UNNotificationAction(identifier: "Delete", title: "Delete", options: [.destructive])
KQNotification.shared.actionsNotification(identifier: "actionNotificationID", title: "KQNotification", body: "Actions notification", actions: [snoozeAction, deleteAction], after: 60, repeats: true, completion: nil)

Daily Notification

// Daily notification
KQNotification.shared.dailyNotification(identifier: "dailyNotificationID", title: "KQNotification", body: "Daily notification", date: Date(), completion: nil)

// Daily notification with actions
let snoozeAction = UNNotificationAction(identifier: "Snooze", title: "Snooze", options: [])
let deleteAction = UNNotificationAction(identifier: "Delete", title: "Delete", options: [.destructive])
KQNotification.shared.dailyActionsNotification(identifier: "dailyNotificationID", title: "KQNotification", body: "Daily notification with actions", actions: [snoozeAction, deleteAction], date: Date(), completion: nil)

Weekly Notification

// Daily notification
KQNotification.shared.weeklyNotification(identifier: "weeklyNotificationID", title: "KQNotification", body: "Weekly notification", date: Date(), completion: nil)

// Daily notification with actions
let snoozeAction = UNNotificationAction(identifier: "Snooze", title: "Snooze", options: [])
let deleteAction = UNNotificationAction(identifier: "Delete", title: "Delete", options: [.destructive])
KQNotification.shared.weeklyActionsNotification(identifier: "weeklyNotificationID", title: "KQNotification", body: "Weekly notification with actions", actions: [snoozeAction, deleteAction], date: Date(), completion: nil)

Notification delegate

// Set delegate
KQNotification.shared.notificationCenter.delegate = self

// Implement UNUserNotificationCenterDelegate
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    switch response.actionIdentifier {
        case UNNotificationDefaultActionIdentifier:
            print("Default action")

        case UNNotificationDismissActionIdentifier:
            print("Dismiss action")

        case "Snooze":
            print("Snooze")

        case "Delete":
            print("Delete")

        default:
            print("Unknown action")
        break

    }

    completionHandler()
}

func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
    completionHandler([.alert, .sound])
}

License

The MIT License (MIT)

Copyright (c) 2015 Quoc Khai

Latest podspec

{
    "name": "KQUserNotification",
    "version": "1.0",
    "summary": "Local Notification - Create local, daily, weekly notifications.",
    "description": "A Swift class which helps you create local, daily, weekly notifications and add actions for user notification easily.",
    "homepage": "https://github.com/quockhai/KQNotification",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "Quoc Khai": "[email protected]"
    },
    "source": {
        "git": "https://github.com/quockhai/KQNotification.git",
        "tag": "1.0"
    },
    "platforms": {
        "ios": "10.0"
    },
    "source_files": "KQNotification/Source/KQNotification.swift",
    "swift_version": "4.0"
}

Pin It on Pinterest

Share This