Я пытаюсь отобразить локальное уведомление, когда мое приложение находится на переднем плане. У меня нет проблем с отображением удаленного уведомления, но у меня возникают проблемы, когда приложение работает на переднем плане. Я только возник проблемы с новой прошивкой 10.xcode 8 и iOS 10 Локальные уведомления
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject],
fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {
// TODO: Handle data of notification
if application.applicationState == UIApplicationState.Active {
//print("Message ID: \(userInfo["gcm.message_id"]!)")
//print("Message ID: \(userInfo.keys)")
dispatch_async(dispatch_get_main_queue(), {() -> Void in
if (userInfo["notice"] != nil) {
if #available(iOS 10.0, *) {
print ("yes")
let content = UNMutableNotificationContent()
content.title = "My Car Wash"
content.body = (userInfo["notice"] as? String)!
}
else
{
let localNotification = UILocalNotification()
localNotification.fireDate = NSDate(timeIntervalSinceNow:0)
localNotification.alertBody = userInfo["notice"] as? String
localNotification.soundName = UILocalNotificationDefaultSoundName
localNotification.alertAction = nil
localNotification.timeZone = NSTimeZone.defaultTimeZone()
UIApplication.sharedApplication().scheduleLocalNotification(localNotification)
let systemSoundID: SystemSoundID = 1000
// to play sound
AudioServicesPlaySystemSound (systemSoundID)
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
completionHandler(.NewData)
}
}
})}
}
My iPhone работает под управлением IOS 10 и я могу видеть «да» печатается. Мое приложение имеет необходимые разрешения для уведомлений.
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Register for remote notifications
let settings: UIUserNotificationSettings =
UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)
application.registerUserNotificationSettings(settings)
application.registerForRemoteNotifications()
// [END register_for_notifications]
FIRApp.configure()
// Add observer for InstanceID token refresh callback.
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.tokenRefreshNotification),
name: kFIRInstanceIDTokenRefreshNotification, object: nil)
return true
}
Как упоминалось на устройствах iOS 9, код работает, и я получаю уведомления, когда приложение не работает. Проблема с iOS 10, когда приложение находится на переднем плане. Я искал Google некоторое время, но меня все еще не было. Любая помощь или предложения были бы весьма признательны.
это должно помочь вам: https://makeapppie.com/2016/08/08/how-to-make-local-notifications-in-ios-10/#comments – Do2
С помощью метода Objective-C http: // stackoverflow. ком/вопросы/37938771/uilocalnotification-это-осуждается-в-ios10/37969401 # 37969401 – ElonChan