私はこのコードをアプリの読み込み時にプッシュ通知に登録するが、何も起こらなかった。iOSでプッシュ通知を正しく登録する方法は?
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
singleton.deviceToken = nil;
application.registerForRemoteNotifications()
return true
}
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
var token = deviceToken.description.trimmingCharacters(in: CharacterSet.init(charactersIn:"<>"));
token = token.replacingOccurrences(of: " ", with: "");
singleton.deviceToken = token;
}
func application(_ application: UIApplication, didRegister notificationSettings: UIUserNotificationSettings) {
if notificationSettings.types == .none { application.registerForRemoteNotifications() }
}
func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
print("Cannot register for push notification. Repeating.")
application.registerForRemoteNotifications();
}
- 私は上記のすべてのメソッドにブレークポイントを設定しているが、唯一の方法は、唯一の
application(application:didFinishLaunchingWithOptions:)
で呼び出されます。他のすべては決して呼び出されません。 - 私のテストデバイス上のアプリケーションは、プッシュ通知を表示する要求を絶対に表示しません。
- 私はターゲットにプッシュ通知を表示する機能を既に要求しています。それは言う:[✓]アプリケーションIDにプッシュ通知を追加し、[✓]エンタイトルメントファイルにプッシュ通知エンタイトルメントを追加します。コンソールに印刷
- 何もありません。
どうしたのですか?そしてこれを修正する方法は?少なくとも私はプッシュ通知に登録するのに失敗した場合、Cannot register for push notification. Repeating.
がコンソールに繰り返し表示されることを期待しています。しかし、コンソールには何もありません。
PS:Xcodeを8.2.1にアップデートしました。しかし、私は8.2.1にアップグレードするまで私の現在のプロジェクトでプッシュ通知を試したことはありませんでしたので、古いXcodeで作業している場合にプッシュ通知が機能するかどうかわかりません。
でUNUserNotificationCenterDelegateを追加するには、プロジェクト設定の機能]タブで通知をプッシュ有効にしましたか? – Vakas
@Vakasはい私は持っています。 –
プッシュ通知用の開発者ポータルで必要な設定ですか? – Vakas