1

登録とトリガーのために古いコードをswift 2.2で記述しましたUILocalNotification。xcode 8 で Swift 2.2 から 2.3 に、IOS 9 から IOS 10 に移行した後、ローカル通知を受け取ることができません。また、コンソールでは例外が発生しません。以前は IOS 9 で正常に動作していたことを確認できます。

UIApplication.sharedApplication().scheduleLocalNotification(notification)

これは、ローカル通知をトリガーするために使用しているコードです。

このメソッドは IOS 10 で非推奨になり、UNUserNotificationCenter代わりに使用する必要があるとドキュメントで確認できます。しかし、それを使用するには、Swift 3.0 にアップグレードする必要があります。

したがって、私の質問は、Swift 2.3 のバグ/抜け穴ですか? そのための回避策はありますか? または、何か不足していますか?

4

2 に答える 2

0

これは、iOS 10 ユーザー向けにアプリでローカル通知を表示するために使用する Swift 2.3 コードです。

func showLocalNotif() {      


    if #available(iOS 10, *) {
        let content = UNMutableNotificationContent()
        content.title = "your title"
        content.subtitle = "your subtitle"
        content.body = "your message to the users"
        content.categoryIdentifier = "message"

        //Set the trigger of the notification -- here a timer.
        let trig = UNTimeIntervalNotificationTrigger(
            timeInterval: 100,
            repeats: false)

        //Set the request for the notification from the above
        let request = UNNotificationRequest(
            identifier: "100.second.message",
            content: content,
            trigger: trig

        )

        //Add the notification to the current notification center
        UNUserNotificationCenter.currentNotificationCenter().addNotificationRequest(request, withCompletionHandler: addNotificationRequestHandler)


    }}
于 2016-11-07T20:20:23.820 に答える
-1

2.3 で新しい API にアクセスできるようになると思います。新しいAPIをそのまま使用できるはずですUNUserNotificationCenter

于 2016-10-29T03:55:53.703 に答える