it-swarm.com.de

Die Anmeldeschaltfläche für Facebook SDK 4.6 unter iOS verwendet die Facebook-App nicht zur Authentifizierung

Ich verwende das Facebook SDK v4.6.0 für iOS 9 in einer einfachen Swift-App, um meiner App eine Anmeldeschaltfläche hinzuzufügen (Ich habe die Schritte unter Vorbereiten Ihrer Apps für iOS 9 ausgeführt).

Der Login-Button öffnet Safari immer zur Authentifizierung und verwendet niemals die native Facebook-App. Ist das das erwartete Verhalten? Ist es möglich, die native App zu verwenden (bei der bereits viele Benutzer authentifiziert sind), anstatt direkt zum Web-Login zu wechseln?

Ich habe versucht, die App auf meinem iPhone zu testen, indem ich sie mit XCode und einem von TestFlight bereitgestellten Build erstellt und ausgeführt habe. Es öffnet Safari immer zur Authentifizierung, obwohl ich die native App installiert und konfiguriert habe.

Ich fand diese relevante Frage wo die Antwort nur auf das 3.x SDK zuzutreffen scheint. Ich habe auch andere Fragen gefunden, die Verweise auf die Konfiguration von tryFBAppAuth oder authorizeWithFBAppAuth enthielten, die auf Edge-Fälle in früheren Versionen des FB SDK zuzutreffen schienen. Ich habe keine klare Antwort für 4.6 gefunden.

13
Matt Hampel

Dies ist beabsichtigt. Ich habe vor ein paar Tagen einen Fehlerbericht erstellt und Facebook hat immer noch ein Problem mit iOS 9.

Siehe die Antwort des Facebook-Teams: https://developers.facebook.com/bugs/786729821439894/?search_id

7
Bastien

Sie müssen die native Facebook-App auf die Whitelist setzen. Stellen Sie in Ihrer info.plist sicher, dass Sie den folgenden Eintrag haben

<key>LSApplicationQueriesSchemes</key>
  <array>
    <string>fbapi</string>
    <string>fbapi20130214</string>
    <string>fbapi20130410</string>
    <string>fbapi20130702</string>
    <string>fbapi20131010</string>
    <string>fbapi20131219</string>    
    <string>fbapi20140410</string>
    <string>fbapi20140116</string>
    <string>fbapi20150313</string>
    <string>fbapi20150629</string>
    <string>fbauth</string>
    <string>fbauth2</string>
    <string>fb-messenger-api20140430</string>
  </array>

Wenn Sie kein URL-Schema auf die Whitelist setzen, kann Ihre iOS-App nicht zu dieser App wechseln. Das Facebook SDK zeigt in diesem Fall Safari anstelle der nativen App an.

6
Med Hajlaoui

Kompilieren Sie mit iOS9 SDK (XCode 7.x)? Wie in FBs iOS9-Vorbereitungsseite erwähnt sollten Sie mit dem neuen SDK kompilieren, damit Richtlinien für den App-Wechsel stattfinden.

1
HeTzi