2016-04-25 10 views
1

私はここで似たような質問をいくつか読みましたが、残念ながら、私にはあまり効果がありませんでした。FacebookとGoogleログイン - 競合(Xcode)

私はSwiftを使ったXcodeプロジェクトを持っていますが、現在、私はTwitterを統合しました& Facebookログイン。私もGoogleのログインをしたいと思います。私はこれまでの手順に従ってきましたが、私は2つの問題に到達しました:(AppDelegate.swift中)

  1. didFinishLaunchingWithOptions。私はすでに返品タイプとしてFacebookを持っていますが、Googleの書類にはreturn trueが必要です。どうやってするか?

    func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool { 
    
        return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation) 
    
    
        // Required By Google?! 
        return GIDSignIn.sharedInstance().handleURL(url, sourceApplication: sourceApplication, annotation: annotation) 
    
    } 
    

    だから、私は必要があります - この1つはまた、Google関連の収益を見込んでいますが、現在はその文書に基づいてFacebookの()を返す

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
    
    
    // Google Login 
    var configureError: NSError? 
    GGLContext.sharedInstance().configureWithError(&configureError) 
    assert(configureError == nil, "Error configuring Google services: \(configureError)") 
    
    //return true -> Expected by Google 
    
    return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions) } 
    

2)openURL FUNC:ここではコードですそれらの処理に役立ちます。前もって感謝します! didFinishLaunchingWithOptions

答えて

1

私にとってはこれが働いた

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
     // Override point for customization after application launch. 
     FIRApp.configure() 

     FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions) 

     GIDSignIn.sharedInstance().clientID = FIRApp.defaultApp()?.options.clientID    
     return true 
    } 

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool { 
     return FBSDKApplicationDelegate.sharedInstance().application(application, open: url, sourceApplication: sourceApplication,annotation: annotation) 
      || GIDSignIn.sharedInstance().handle(url, sourceApplication: sourceApplication, annotation: annotation) 
    } 

誰かを助ける希望。 3時間以上働いていました。

2

は1つのブール変数やその他の問題について

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 


    // Google Login 
    var configureError: NSError? 
    GGLContext.sharedInstance().configureWithError(&configureError) 
    assert(configureError == nil, "Error configuring Google services: \(configureError)") 

    let b = FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions) 

    return b 
} 

のように、その変数を返すよりを取るソリューションは

func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool { 
      return 
       //facebook 
       FBSDKApplicationDelegate.sharedInstance().application(app, openURL: url, 
         sourceApplication: options[UIApplicationOpenURLOptionsSourceApplicationKey] as! String?, 
          annotation: options[UIApplicationOpenURLOptionsAnnotationKey]) 
       || 

       //google 
       GIDSignIn.sharedInstance().handleURL(url, 
                 sourceApplication: options[UIApplicationOpenURLOptionsSourceApplicationKey] as! String?, 
                 annotation: options[UIApplicationOpenURLOptionsAnnotationKey]) 
} 
ある
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool { 
    return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation) 
      || GIDSignIn.sharedInstance().handleURL(url, sourceApplication: sourceApplication, annotation: annotation) 
} 
+0

ありがとうございました。 let b = FBSDK ... assignmentの目的を説明してください。 –

1

このように、あなたはそれを扱うことができます
関連する問題