分配OS常量的Swift问题

时间:2016-03-10 06:39:10

标签: ios swift

我正在尝试使用谷歌登录sdk中使用的2个OS常量。这是我的代码:

 func application(application: UIApplication, openURL url: NSURL, options: [String: AnyObject]) -> Bool {

 let appKey = UIApplicationOpenURLOptionsSourceApplicationKey
 let annoKey = UIApplicationOpenURLOptionsAnnotationKey

 return GIDSignIn.sharedInstance().handleURL(url,sourceApplication: options[appKey],
            annotation: options[annoKey])
}

但是,当我使用UIApplicationOpenURLOptionsSourceApplicationKeyUIApplicationOpenURLOptionsAnnotationKey时,我收到错误消息

  

使用未解析的标识符UIApplicationOpenURLOptionsSourceApplicationKey

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

正如您所看到的,options是一个字典,可以将String作为键,AnyObject作为值。

let appKey = UIApplicationOpenURLOptionsSourceApplicationKey:在此行中,appKey的类型为AnyObject,因此无法发送到GIDSignIn.sharedInstance()。尝试将其强制转换为字符串:

let appKey = UIApplicationOpenURLOptionsSourceApplicationKey as? String

let appKey = UIApplicationOpenURLOptionsSourceApplicationKey as! String