谷歌签署成员'下标'的含糊不清的参考

Man*_*jha 5 subscript ios swift3

application:openURL:options:app委托的方法.该方法应调用实例的handleURL方法,该方法GIDSignIn将正确处理应用程序在身份验证过程结束时收到的URL.

直接从firebase指南文档复制但仍有错误.

func application(application: UIApplication, openURL url: NSURL, options: [String: AnyObject]) -> Bool {
    return GIDSignIn.sharedInstance().handleURL(url as URL!, sourceApplication: 
        options[UIApplicationOpenURLOptionsSourceApplicationKey]  //Error is here
        //Ambiguous reference to member 'subscript' error is shown.

        as? String, annotation: options[UIApplicationOpenURLOptionsAnnotationKey])
}
Run Code Online (Sandbox Code Playgroud)

rma*_*ddy 25

你有一些问题.委托方法应该在Swift 3中具有以下签名:

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool
Run Code Online (Sandbox Code Playgroud)

整个方法是:

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
    return GIDSignIn.sharedInstance().handleURL(url, sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String, annotation: options[UIApplicationOpenURLOptionsKey.annotation])
}
Run Code Online (Sandbox Code Playgroud)