我尝试在我的项目中设置VK auth和FB auth。
要设置FB auth,我必须使用以下方法
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工作得很好
答案 0 :(得分:2)
在两种情况下都检查url方案,两个url的方案都应该有不同的前缀,并且在该方案上放置条件来处理这两种情况。与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
}