dor*_*mon 27 ios swift swift3 xcode8-beta6
安装Xcode 8 beta 6后,我收到一条警告说:
实例方法'application(_:didFinishLaunchingWithOptions :)'几乎匹配协议'UIApplicationDelegate'的可选要求'application(_:didFinishLaunchingWithOptions :)'
在我的App代表中.
有2个建议的修正来使警告静音:
做任何一个都会使警告静音.但为什么需要这样做呢?
Ham*_*ish 52
在iOS 12 SDK(随Xcode 10提供)中,UIApplicationLaunchOptionsKey
现在已经重命名为嵌套类型UIApplication.LaunchOptionsKey
,因此您需要:
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
// ...
}
Run Code Online (Sandbox Code Playgroud)
这个警告是由于委托方法的didFinishLaunchingWithOptions:
参数application(_:didFinishLaunchingWithOptions:)
现在桥接到Swift作为a [UIApplicationLaunchOptionsKey: Any]?
而不是[NSObject : AnyObject]?
.
因此,您需要更新实施以反映此更改:
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?
) -> Bool {
// ...
}
Run Code Online (Sandbox Code Playgroud)
请注意,Xcode的建议修复都不能解决问题,它们只会隐藏application(_:didFinishLaunchingWithOptions:)
Objective-C的实现 - 这意味着它实际上永远不会被调用.