我尝试在我的项目中设置 VK 身份验证和 FB 身份验证。
要设置 FB 身份验证,我必须使用以下方法
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
}
要使用 VK 身份验证,我必须使用以下方法
func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
VKSdk.processOpenURL(url, fromApplication: UIApplicationOpenURLOptionsSourceApplicationKey)
return true
}
问题是,当我添加 VK 时,Auth FB 停止工作。如果我通过调用 VKSdk 来评论方法第二种方法,那么 facebook 工作得很好
最佳答案
在这两种情况下检查 url 方案,两种 url 方案应该有不同的前缀,并在该方案上设置条件以处理这两种情况。 Like for Facebook 方案包含 fb
前缀,后跟 FacebookAppId
let bundleInforDict:NSDictionary = NSBundle.mainBundle().infoDictionary!
if((url.scheme.hasPrefix(String(format: "fb%@", (bundleInforDict.objectForKey("FacebookAppID"))! as! String )))) {
return FBAppCall.handleOpenURL(url, sourceApplication: sourceApplication, withSession: FBSession.activeSession());
}
else{
// Your VK auth work
}
关于ios - appDelegate 方法的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34264207/