Hon*_*ney 2 syntax deprecated swift
例如在 iOS 10 中有UserNotifications框架。在此之前,您只需要使用:
let settings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
application.registerUserNotificationSettings(settings)
application.registerForRemoteNotifications()
Run Code Online (Sandbox Code Playgroud)
(我在 iOS 10 上运行了上面的代码,但什么也没发生)。
我的一般问题是:运行不推荐使用的语法是否会一直崩溃,什么都不做(就像现在一样)或者它如何处理是未知的?
我要求获得更好的调试理解。
它如何治疗是未知的
基本上,这是正确的。它可能不会崩溃,但也不能保证工作。
就 UILocalNotification 世界而言,经验表明,如果您针对 iOS 10 进行链接,您的代码将无法正常工作。您必须切换到新的 UNUserNotificationCenter 代码。
但这不是由规则决定的,而是由实验决定的。
一个可靠的一般规则是,如果当前 iOS 版本不推荐使用某些内容,请不要使用它。这正是弃用的含义。
当然,如果您希望您的代码与 iOS 10 链接但同时在 iOS 10 和 iOS 9 上运行,那么您可能必须包含两组完全不同的代码,利用 Swift 的if #available()语法来响应我们的系统重新实际运行。在这种特殊情况下,您必须这样做才能管理本地通知。但这是进步的代价。Apple(故意?)让您很难编写向后兼容的代码。
| 归档时间: |
|
| 查看次数: |
944 次 |
| 最近记录: |