2016-09-26 172 views
0

我想在我的iOS应用程序中实现谷歌身份验证。谷歌登录iOS的bug

我在我的appDelegate和我想要实现这个功能

func application(application: UIApplication, openURL url: NSURL, options: [String: AnyObject]) -> Bool 
{ 
    return GIDSignIn.sharedInstance().handleURL(url as URL!, sourceApplication: options[UIApplicationOpenURLOptionsSourceApplicationKey] as? String, annotation: options[UIApplicationOpenURLOptionsAnnotationKey]) 
} 

我的这部分功能得到一个错误:

options[UIApplicationOpenURLOptionsSourceApplicationKey] as? String 

的错误是

ambiguous reference to member 'subscript' 

林不知道发生了什么事。有人能帮我吗?

回答

0

尝试改变annotation: options[UIApplicationOpenURLOptionsAnnotationKey]annotation: options[UIApplicationOpenURLOptionsAnnotationKey] as? String

+0

这并没有解决它。你认为这个问题是什么? –

2

试试你的代码,这:)

private func application(application: UIApplication, openURL url: URL, options: [String: AnyObject]) -> Bool { 
     return GIDSignIn.sharedInstance().handle(url as URL!, 
                sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication.rawValue] as? String, 
                annotation: options[UIApplicationOpenURLOptionsKey.annotation.rawValue]) 
    } 
0

这里,r梦幻般的答案:

func application(_ app: UIApplication, 
       open url: URL, 
       options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool { 

     return GIDSignIn.sharedInstance().handle(url as URL!, 
            sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String!, 
            annotation: options[UIApplicationOpenURLOptionsKey.annotation]) 
} 

参考从

Trouble handling Google sign in Swift 3