appDelegate方法问题

时间:2015-12-14 10:04:26

标签: ios appdelegate

我尝试在我的项目中设置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工作得很好

1 个答案:

答案 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
    }