1

У меня был старый код, написанный в swift 2.2 для регистрации и запуска UILocalNotification. Теперь, когда я перешел с Swift 2.2 на 2.3 в xcode 8 и IOS 9 на IOS 10. После этого я не смог получить локальное уведомление. Кроме того, не получая никаких исключений в консоли, хотя. Может подтвердить, что он работал хорошо раньше с IOS 9.Локальное уведомление не используется в IOS 10 + Swift 2.3

UIApplication.sharedApplication().scheduleLocalNotification(notification) 

Это код, который я использую для инициирования локального уведомления.

Я могу видеть документ, говорящий, что этот метод устарел в IOS 10, и вместо этого нужно использовать UNUserNotificationCenter. Но для этого мне нужно перейти на Swift 3.0.

Следовательно, мой вопрос: это ошибка/лазейка в Swift 2.3? У нас есть какая-то работа для этого? Или я что-то упускаю?

+0

UILocalNotifications осуждался на прошивке 10, но не YER удален, поэтому вы можете использовать еще –

+0

Я использую это, но не могу получать уведомления, даже если он запланирован. Что было правильно работает в ios 9. –

+0

«нужно использовать UNUserNotificationCenter вместо этого. Но для этого мне нужно перейти на Swift 3.0« Нет, это совершенно фиктивный. _Language_ не имеет ничего общего с _system_. – matt

ответ

-1

Я верю, что 2.3 дает вам доступ к новому API. Вы должны быть в состоянии использовать только новый API UNUserNotificationCenter

0

Это код Swift 2,3 я использую, чтобы показать местные уведомления на моем приложении для IOS 10 пользователей:

func showLocalNotif() {  


    if #available(iOS 10, *) { 
     let content = UNMutableNotificationContent() 
     content.title = "your title" 
     content.subtitle = "your subtitle" 
     content.body = "your message to the users" 
     content.categoryIdentifier = "message" 

     //Set the trigger of the notification -- here a timer. 
     let trig = UNTimeIntervalNotificationTrigger(
      timeInterval: 100, 
      repeats: false) 

     //Set the request for the notification from the above 
     let request = UNNotificationRequest(
      identifier: "100.second.message", 
      content: content, 
      trigger: trig 

     ) 

     //Add the notification to the current notification center 
     UNUserNotificationCenter.currentNotificationCenter().addNotificationRequest(request, withCompletionHandler: addNotificationRequestHandler) 


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