Swift 3 的转换器改变了这个(完美工作的)语句:
func application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) -> Void) {
转换为:
func application(_ application: UIApplication, performActionFor shortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) -> Void) {
但两者都会产生警告
实例方法'application(:handleActionWithIdentifier:for:completionHandler:)'几乎匹配协议'UIApplicationDelegate'的可选要求'application(:handleActionWithIdentifier:for:completionHandler:)'。
并提供了使函数private
或添加@nonobjc
的解决方案。
无论是保留该函数的警告,还是将其恢复为Swift 2语法,或按建议的任一方式修复,使用快捷方式启动应用程序都不会触发它。
这在此处未列为已知问题。有人有什么想法吗?