2015-09-17 23 views
6

Ho appena aggiornato la mia app a Xcode 7/Swift 2.0 e ho difficoltà con l'accesso a Facebook tramite AppSwitch. Sono sull'ultimo FBSDK (4.6) e ho fatto tutto secondo lo upgrade guide. Ancora, su iOS9 l'accesso di Facebook avviene tramite browser in-app, l'appwitch non funziona più. Ho anche provato a installare il loginbehavior ma senza fortuna forza:Default FBSDKLoginBehavior.Native non funziona su iOS 9

let manager = FBSDKLoginManager() 
manager.loginBehavior = FBSDKLoginBehavior.Native 
manager.logInWithReadPermissions(facebookReadPermissions, fromViewController: nil, handler: { (loginResult, error) -> Void in 

C'è qualcosa che posso fare per rendere di nuovo appswitch lavoro?

Grazie!

risposta

9

scopre che questo non è un problema, ma il nuovo comportamento desiderato in base a questi messaggi di Facebook:

https://developers.facebook.com/bugs/1636969533209725/?comment_id=1011596265571252

Questo comportamento è di progettazione. Nei nostri ultimi SDK iOS, il comportamento di accesso è ora controllato sul lato server per garantire la migliore esperienza utente.

https://developers.facebook.com/bugs/786729821439894/?comment_id=1467419033584031

A causa delle modifiche introdotte in iOS 9, Questo nuovo comportamento evita all'utente di essere chiesto se vogliono andare e aprire l'applicazione di Facebook, accettare le autorizzazioni/share/etc, e quindi chiedi ancora una volta se vogliono tornare alla tua app.

https://developers.facebook.com/bugs/1390559277910338/?comment_id=1661064587442645

autenticazione sistema non dà controllano le persone sulle informazioni che condividono con le app. E in iOS 9, il passaggio rapido all'app nativa di Facebook genera ulteriori finestre di dialogo ("EsempioApp vorrebbe aprire Facebook") che appaiono due volte, una volta sulla strada da ExampleApp a Facebook, e ancora una volta sul viaggio di ritorno. Riteniamo che il comportamento predefinito dell'SDK nella v4.6 su iOS 9 offra la migliore esperienza alle persone che accedono alla tua app con Facebook.

+3

Quindi, perché quindi è ancora incluso nell'SDK -> loginManager.loginBehavior = FBSDKLoginBehavior.Native. – TYRONEMICHAEL

+0

è utilizzato su iOS <9 – zxcat

0

È possibile applicare il codice sorgente di FacebookSDK per utilizzare il Cambio rapido dell'app.

La parte interessante (per il tag 4.6) è nel file di FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfigurationManager.m

+ (FBSDKServerConfiguration *)_defaultServerConfigurationForAppID:(NSString *)appID 
{ 
    … 
    BOOL useNativeFlow = ![FBSDKInternalUtility isOSRunTimeVersionAtLeast:iOS9Version]; 

Come si può vedere, si disattiva il flusso nativo su iOS9 +.
La modifica della linea su qualcosa come BOOL useNativeFlow = YES; dovrebbe funzionare.

P.S. Non ho ancora controllato questa patch.

+0

non funziona, ma penso che funzionerà. Sto aggiungendo "fbapi" in Schema URL –

Problemi correlati