iOS 12.0 中的应用程序崩溃

Posted

技术标签:

【中文标题】iOS 12.0 中的应用程序崩溃【英文标题】:Application crashing in iOS 12.0 【发布时间】:2018-09-27 06:43:14 【问题描述】:

应用程序在 ios 12.0 之前的 iOS 12.0 中崩溃,它工作正常,我用谷歌搜索了它,但没有得到以下崩溃日志的任何解决方案。

由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[setValue:forUndefinedKey:]:此类与键 shouldAlwaysAlertWhileAppIsForeground 的键值编码不兼容。”

let content = UNMutableNotificationContent()
//App crash on below line
content.setValue(true, forKeyPath: "shouldAlwaysAlertWhileAppIsForeground")

有人解决过此类问题吗?

【问题讨论】:

UNMutableNotificationContent 似乎没有正式的shouldAlwaysAlertWhileAppIsForeground 属性,这可能是您的应用之前意外运行。 嘿@Nilesh!您是否找到任何解决此问题的方法? 我只是在那里添加条件 if #available(iOS 12.0, *) else content.setValue(true, forKeyPath: "shouldAlwaysAlertWhileAppIsForeground") 【参考方案1】:

在 iOS12 中,shouldAlwaysAlertWhileAppIsForeground keyPath 已被移除且不再受支持。


要在 iOS12 上实现:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool 
    UNUserNotificationCenter.current().delegate = self
    ...

...
extension AppDelegate: UNUserNotificationCenterDelegate 
    // The method will be called on the delegate only if the application is in the foreground. 
    // If the method is not implemented or the handler is not called in a timely manner then the notification will not be presented. 
    // The application can choose to have the notification presented as a sound, badge, alert and/or in the notification list. 
    //This decision should be based on whether the information in the notification is otherwise visible to the user.
    func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) 
        completionHandler([.alert, .sound])// Will present an alert and will play a sound when a notification arrives
    

【讨论】:

感谢您的回复,任何其他可用于此问题的解决方案,因为我想在应用程序处于前台时显示通知。

以上是关于iOS 12.0 中的应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章

iOS 7 中的应用程序崩溃

我的 iOS 应用程序崩溃报告中的 SIGSEGV 异常

iOS4.3模拟器中的iOS5稳定应用程序崩溃

将占位符文本添加到文本字段时,iOS 7 中的应用程序崩溃

iOS 10.0 运行时崩溃中的 NSCameraUsageDescription?

ios应用程序在神奇记录中的findall API崩溃