2017-01-12 6 views
0

Xcode 7.3でApple Push Notificationデモアプリケーションが実装されました。それは正常に動作していた。最近私はXcode 8をダウンロードします。今では、私のデモアプリケーションはXcode 7でもXcode 8でも動作していません。デリゲートメソッドは呼び出されませんでした。私は何が間違っていたのか分かりません。 Xcodeはエンタイトルメントを作成するように提案しました。誰か助けてください。Xcode 8.2.1でプッシュ通知の代行メソッドが呼び出されない

おかげで、 機能からのプッシュ通知にVikash

+0

機能からのプッシュ通知.. –

+0

これはiOS 10で動作していますが、iOS 9.3.2では動作しません。 – vikash1307

+0

iOS 10、Xcode 8から9への展開ターゲットを設定すると、iOS 9搭載のデバイスで動作します。 –

答えて

1

とAppDelegateにBuildPhase でUserNotificationフレームワークを追加追加デリゲートメソッドUNUserNotificationCenterDelegate didFinishingLaunchingで

import UserNotifications 

...

if #available(iOS 10.0, *) { 
     let center = UNUserNotificationCenter.current() 
     center.delegate = self 
     center.requestAuthorization(options: [.sound, .alert, .badge]) { (granted, error) in 
      if error == nil{ 
       UIApplication.shared.registerForRemoteNotifications() 
      } 
     } 
    } else { 
     // Fallback on earlier versions 
    } 

これらのメソッドを追加

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { 

    let deviceTokenString = deviceToken.reduce("", {$0 + String(format: "%02X", $1)}) 
    print(deviceTokenString) 


} 

func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) { 

    print("i am not available in simulator \(error)") 

} 



@available(iOS 10.0, *) 
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping() -> Void) { 

} 

@available(iOS 10.0, *) 
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { 

} 
+0

'didRegisterForRemoteNotificationsWithDeviceToken' - このデリゲートメソッドは呼び出されませんでした。他の投稿と一緒にこれを試しました。しかし、それは私のために働いていなかったし、私の展開目標は9.3です。 – vikash1307

+0

機能からプッシュ通知を受けましたか?また、UNUserNotificationCenterDelegateをアプリケーションデベロッパー –

+0

に追加しました。それは以前は賞賛されていた。 Xcode 8で、私は代理人呼び出しを取得していません。 – vikash1307

関連する問題