【发布时间】:2017-05-13 09:39:05
【问题描述】:
我正在使用 Swift 3 进行编码,我只是想现在发送通知,没有任何延迟或间隔。但是,通知永远不会被触发。这是我的代码..
ViewController 代码
import UserNotifications
class HomeViewController: UIViewController{
var isGrantedNotificationAccess:Bool = false
override func viewDidLoad() {
super.viewDidLoad()
UNUserNotificationCenter.current().requestAuthorization(
options: [.alert,.sound,.badge],
completionHandler: { (granted,error) in
self.isGrantedNotificationAccess = granted
})
if isGrantedNotificationAccess{
triggerNotification()
}
}
//triggerNotification func goes here
}
触发通知功能:
func triggerNotification(){
let content = UNMutableNotificationContent()
content.title = NSString.localizedUserNotificationString(forKey: "Notification Testing", arguments: nil)
content.body = NSString.localizedUserNotificationString(forKey: "This is a test", arguments: nil)
content.sound = UNNotificationSound.default()
content.badge = (UIApplication.shared.applicationIconBadgeNumber + 1) as NSNumber;
let trigger = UNTimeIntervalNotificationTrigger(
timeInterval: 1.0,
repeats: false)
let request = UNNotificationRequest.init(identifier: "testTriggerNotif", content: content, trigger: trigger)
let center = UNUserNotificationCenter.current()
center.add(request)
}
我做错了什么?
【问题讨论】:
-
你可以参考这个链接-stackoverflow.com/questions/37807302/…
-
您的通知工作正常。对于测试,将时间间隔增加到 5 并在后台移动应用程序。(通知横幅将按预期显示。问题是您没有处理应用程序应该做什么然后用户通知到达并且应用程序处于前台状态)
标签: ios swift xcode notifications uilocalnotification