2015-05-08 4 views
0

Я подключил свое приложение с сервером Parse с уведомлением push, но проблема в том, что я получил ошибку, и он говорит: registeroreRemotenotification тип устарел в версии IOS версии 8.0: используйте регистр для удаленного уведомления и зарегистрируйте настройку уведомления пользователя вместо , но этот код предназначен для IOS8.Ошибка уведомления об отправке сообщений IOS 8

Может ли кто-нибудь помочь мне с правильным кодом?

if application.applicationState != UIApplicationState.Background { 


     let preBackgroundPush = !application.respondsToSelector("backgroundRefreshStatus") 
     let oldPushHandlerOnly = !self.respondsToSelector("application:didReceiveRemoteNotification:fetchCompletionHandler:") 
     var pushPayload = false 
     if let options = launchOptions { 
      pushPayload = options[UIApplicationLaunchOptionsRemoteNotificationKey] != nil 
     } 
     if (preBackgroundPush || oldPushHandlerOnly || pushPayload) { 
      PFAnalytics.trackAppOpenedWithLaunchOptions(launchOptions) 
     } 
    } 
    if application.respondsToSelector("registerUserNotificationSettings:") { 
     let userNotificationTypes = UIUserNotificationType.Alert | UIUserNotificationType.Badge | UIUserNotificationType.Sound 
     let settings = UIUserNotificationSettings(forTypes: userNotificationTypes, categories: nil) 
     application.registerUserNotificationSettings(settings) 
     application.registerForRemoteNotifications() 
    } else { 
     let types = UIRemoteNotificationType.Badge | UIRemoteNotificationType.Alert | UIRemoteNotificationType.Sound 
     application.registerForRemoteNotificationTypes(types) 
    } 


    return true 
} 
![enter image description here][1] 

ответ

0

В зависимости от того, что вы хотите:

  • Если вы не хотите, чтобы ваше приложение, чтобы быть совместимым с прошивкой 7 или выше, а затем установить цель развертывания в настройках проекта до прошивки 8; и сохраняйте только первую часть вашего условия (удалите часть «else»), поскольку приложение всегда будет реагировать на этот селектор. С целью развертывания iOS 8 компилятор сообщает вам, что если вы дойдете до этой строки, вы будете выполнять устаревшее утверждение на устройстве iOS 8.
  • Если вы хотите, чтобы ваше приложение было совместимо с iOS 7 или более ранней версией, убедитесь, что для цели развертывания в настройках вашего проекта установлено значение iOS 7 или более раннее; предупреждения затем должны исчезнуть, если вы не можете попытаться отключить его, как описано здесь. deprecated warnings in xcode and how to handle deprecation
+0

Спасибо, это работает, но если я выберу IOS 7 ранее, он будет совместим с IOS 8, а не Это ? –

+0

, если вы выбрали цель развертывания iOS7, она будет работать на iOS 7 и более поздних версиях (включая iOS 8) –