Ios 如何在swift(XCode 8)中处理自定义url方案?

Ios 如何在swift(XCode 8)中处理自定义url方案?,ios,swift,swift3,Ios,Swift,Swift3,我尝试使用此函数从自定义url接收参数: func application(_ application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool { return true; } 但是,该函数从未被调用,我收到警告:“实例方法”应用程序(:openURL:sourceApplication:annotation:)“几乎匹配协议“UI

我尝试使用此函数从自定义url接收参数:

func application(_ application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
    return true;
}
但是,该函数从未被调用,我收到警告:“实例方法”应用程序(:openURL:sourceApplication:annotation:)“几乎匹配协议“UIApplicationLegate”的可选参数“应用程序(:open:sourceApplication:annotation:)”


基于,我尝试使用@objc,但没有成功。如何构建一个在应用程序打开时调用的函数,并从自定义url方案中为我提供参数?

请参阅
uiapplicationelegate
的文档。在Swift 3下,委托方法是:

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
    return true;
}
不是

但无论如何,该版本已被弃用。您应该(在iOS 9.0及更高版本中)使用:


请参阅
UIApplicationLegate
的文档。在Swift 3下,委托方法为:

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
    return true;
}
不是

但无论如何,该版本已被弃用。您应该(在iOS 9.0及更高版本中)使用:


你为什么不投票给被接受的答案?这个用户花时间帮助你!你为什么不投票给被接受的答案?这个用户花时间帮助你!
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
    return true;
}