Skip to content

Instantly share code, notes, and snippets.

// 創建觸發條件,這裡是設定每天8:30
var date = DateComponents()
date.hour = 8
date.minute = 30
let trigger = UNCalendarNotificationTrigger(dateMatching: date, repeats: true)
// 創建觸發條件,這裡是設定座標經緯度
let center = CLLocationCoordinate2D(latitude: 37.335400, longitude: -122.009201)
let region = CLCircularRegion(center: center, radius: 2000.0, identifier: "Headquarters")
region.notifyOnEntry = true
// 1.創建通知內容
let content = UNMutableNotificationContent()
content.title = "我是標題"
content.subtitle = "我是副標題"
content.body = "我是內容"
// 2.創建觸發條件,這裡是設定5秒後發出通知且不重複,注意這裡不能設定60秒內重複,會crash
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false)
// 3.請求標示符
public struct UNAuthorizationOptions : OptionSet {
public init(rawValue: UInt)
public static var badge: UNAuthorizationOptions { get }
public static var sound: UNAuthorizationOptions { get }
public static var alert: UNAuthorizationOptions { get }
open func requestAuthorization(options: UNAuthorizationOptions = [], completionHandler: @escaping (Bool, Error?) -> Swift.Void)
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) {
granted, error in
if granted {
// 使用者同意推播
} else {
// 使用者拒絕推播
}
}
import UserNotifications