2017-01-12 4 views
0

Я был реализован демонстрационное приложение Apple push push для уведомлений в Xcode 7.3. Он работал нормально. Недавно я загрузил Xcode 8. Теперь мое демонстрационное приложение не работает ни в Xcode 7, ни в Xcode 8. Метод делегирования не вызывался. Я понятия не имею, что пошло не так. Xcode предложил создать права, и я это сделал. Пожалуйста, помогите мне.Метод делегирования уведомлений о недопустимости вызова в Xcode 8.2.1

Спасибо, Vikash

+0

Надавите уведомление о возможностях .. –

+0

работает с iOS 10. Но не работает на iOS 9.3.2. – vikash1307

+0

установить цель развертывания до 9 с iOS 10, Xcode 8, он будет работать на устройстве с iOS 9. –

ответ

1

На Push-уведомление от возможностей и Добавить UserNotification кадра работы в BuildPhase в AppDelegate добавить метод делегата UNUserNotificationCenterDelegate

import UserNotifications 

В didFinishingLaunching ...

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

У вас есть push-уведомление о возможностях? и добавьте UNUserNotificationCenterDelegate в делегат приложения –

+0

Я сделал это тоже. Раньше он выигрывал. теперь с Xcode 8, я не получаю никакого вызова делегата. – vikash1307

Смежные вопросы