2016-04-13 9 views
0

Ich entwickle eine iOS9-App in Swift und verwende das neueste Facebook-SDK für die Anmeldung. Ich habe die Dokumentation befolgt und der Login funktioniert einwandfrei, außer dass das Facebook Access Token beim Relaunch nicht gespeichert wird. Insbesondere, wenn ich die App sowohl auf einem Simulator als auch auf einem tatsächlichen Gerät kill und die App dann neu starte, muss ich mich trotz vorheriger Anmeldung erneut für Facebook auf demselben Gerät anmelden. Wenn ich mich weiterhin anmelde, verlinkt es auf Facebook mit der Nachricht: "Sie haben den Namen der App bereits autorisiert".Facebook-Zugriff behalten, nachdem die App beendet wurde iOS Swift

Gemäß den Facebook SDK-Dokumenten sollte die App, sobald sie eingeloggt ist, das FBSDKAccessToken zwischenspeichern und sollte nicht sofort ablaufen, wenn der Benutzer die App beendet und neu startet.

Ich habe den Code unten in meinem AppDelegate.Swift:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
     return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions) 
    } 

Und ich tue das Kontroll unten in meinem viewDidLoad():

if(FBSDKAccessToken.currentAccessToken() != nil){} 

Wer weiß, warum die App einen Neustart des AccessToken macht Null?


Edit:

ich auch diesen Fehler, wenn ich auf meinem Facebook-Login-Button klicken. Ich bin mir nicht sicher, ob dies ein Grund für das oben genannte Problem ist. :

canOpenURL: failed for URL: "fbauth://authorize/?client_id=1068860826518986&default_audience=friends&display=touch&e2e=%7B%22init%22%3A1460515013815%7D&legacy_override=v2.4&redirect_uri=fbconnect%3A%2F%2Fsuccess& 
     response_type=token%2Csigned_request&return_scopes=true&scope=public_profile%2Cema 
     il%2Cuser_friends&sdk=ios&sdk_version=4.4.0&state=%7B%22challenge%22%3A%22YXJWy0wjHG2r4lnyAe%5C%2FMjqM3xy4%3D%22%2C%220_auth_logger_id%22%3A%22591AC45B-AB19-49AE-A994- 
     851223E03265%22%2C%22com.facebook.sdk_client_state%22%3Atrue%2C%223_method%22%3A0%7D" 

    - error: "This app is not allowed to query for scheme fbauth" 
+0

Überprüfen Sie in 'Info.plist', dass Sie' NSAllowsArbitraryLoads' auf 'YES' gesetzt haben. – bitsoverflow

+0

@bitsoverflow Ja, das habe ich auch gemacht. Immer noch das gleiche Ergebnis. – Mishy

Antwort

0

es löschen die Benutzereinstellungen, die es gespeichert wird. Wenn Sie die App neu starten, müssen Sie sich erneut anmelden.

0

Stellen Sie sicher, dass Sie keinen Code haben, die logout() von FBSDKLoginManager auf Anwendung beenden Methode wie unten

func applicationWillTerminate(application: UIApplication) { 
    let loginManager: FBSDKLoginManager = FBSDKLoginManager() 
    loginManager.logOut() 
} 

macht Wenn ein solcher Code ist es dann auf Geräteneustart, Ihr Zugriffstoken ist nicht länger gültig.

Verwandte Themen