Appleは今夏にAppleがUserNotifications Frameworkを導入したことを知っています。 そして、このフレームワークに関するAppleのAPIリファレンスおよびWWDCのセッションによると、私たちは今、次のようにプッシュ通知を登録するための新しい方法を持っている:iOS 10のリモート通知
UNUserNotificationCenter.current().requestAuthorization(options: [options], completionHandler: {})
しかし、明確に、この方法は、APNをサーバーからdeviceTokenを得るつもりではありません登録とリモート通知のdeviceTokenを取得するための2つの方法だ
UIApplication.shared.registerForRemoteNotifications()
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data){}
を次のようにAppleはUIKitの中でAPIの一部を維持しています。
リモート通知に登録する場合は、まだrequestAuthorization
のことをする必要がありますか?またはローカル通知を登録するためだけのrequestAuthorization
ですか?
さらに、リモート通知に登録したい場合でも両方を実装する必要がある場合は、registerForRemoteNotifications()
をどこに書き込む必要がありますか? completionHandler
にrequestAuthorization
と書かなければならないか、この2つのrequest
とregister
のものが並行して実行されているかのように書かなければなりませんか?
私は、これが論理的にはっきりしていないというだけで本当に混乱しています。つまり、コードを実装する方法です。同様に、内部補完ハンドラ内で、 'granted == false'ということは、ユーザがアプリの通知要求を拒否したことを意味しています。なぜなら、' registerForRemoteNotifications'を並行して実行する必要がありますか? – Allen
ちょうど私の答えを更新することができますので、私のアプリでいくつかのテストを行った。私は文書化が非常に不明であることに同意します。 – charmingToad
Appleはそれを改善する必要があると思う。 – Allen