webentwicklung-frage-antwort-db.com.de

iOS 9 Facebook-Anmeldesimulator -canOpenURL: Fehler bei URL: "fbauth2: ///" - Fehler: "(null)"

Ich habe auf Xcode 7 und das neueste iOS SDK aktualisiert. Ich habe die entsprechenden Einträge in die Liste meiner App eingefügt:

enter image description here

Die Facebook-Anmeldung meiner App funktioniert auf dem Gerät einwandfrei. Auf dem iOS 9-Simulator erhalte ich jedoch:

-canOpenURL: failed for URL: "fbauth2:///" - error: "(null)"

Und Login funktioniert nicht. Ich habe gesehen Facebook Login Problem - canOpenURL: fehlgeschlagen für URL: "fbauth2: ///" - Fehler: "(null)" aber ich habe FBSDKCoreKit Framework. Ich habe auch Facebook SDK 4.5 IOS 9 gesehen, aber die Antwort löst mein Problem nicht.

Warum wird dieser Fehler auf dem Simulator und nicht auf dem Gerät angezeigt, obwohl ich die Checkliste unter https://developers.facebook.com/docs/ios/ios9 durchgearbeitet habe?

35
Can Poyrazoğlu

Warum sehe ich Konsolenmeldungen wie 'canOpenURL: fehlgeschlagen für URL: "fb ...: //" oder?

Dies ist eine Xcode-Warnung, die angibt, dass der Aufruf canOpenURL: false zurückgegeben wurde. Solange Sie den Eintrag LSApplicationQueriesSchemes in Ihrer Liste wie oben beschrieben konfiguriert haben, Sie können diese Warnung ignorieren.

16
SoftDesigner

Das ist kein Problem. Das FB SDK versucht, die native Facebook-App mit dem Typ fbauth2: // url zu öffnen. In Simulator ist es nicht verfügbar, daher wird nur ein Protokoll erstellt, mit dem die native Facebook-App nicht geöffnet werden konnte. Sie können das Facebook-Konto in Simulator konfigurieren und dann den FB-Anmeldebutton anweisen, das native Facebook-Konto zu verwenden, anstatt die Webansicht zu öffnen. Facebook behauptet jedoch, dass Millionen von Menschen Facebook im Browser verwenden und daher in iOS 9 den neuen SFSafariViewController als Standardverhalten für Facebook-Anmeldungen auch auf Geräten verwendet haben. Sie können versuchen, das native Facebook zu verwenden und zu überprüfen, ob es funktioniert.

Überprüfen Sie diesen Link für die Diskussion.

https://www.facebook.com/login.php?next=https%3A%2F%2Fdevelopers.facebook.com%2Fbugs%2F786729821439894%2F%3Fsearch_id

9
Pradeep K

Ich habe mein Facebook SDK von Version 4.7 auf 4.5.1 heruntergestuft und sowohl auf dem Simulator als auch auf dem iPhone-Gerät (ohne installierte Facebook-App) einwandfrei funktioniert.

Nachdem Sie die .plist - Datei Ihrer App mit dem Array LSApplicationQueriesSchemes aktualisiert haben, was Sie anscheinend bereits getan haben:

Weiter, vergewissere dich, dass dein Facebook SDK die Version 4.6.0 ist. Folgen Sie den Facebook Richtungen wenn es nicht ist.

Lastly, wo wahrscheinlich das Problem auftritt, ist Reset der Inhalt und die Einstellungen Ihres Simulators

So setzen Sie Ihren Simulator zurück:

  1. Wählen Sie Simulator
  2. Wählen Sie Inhalt & Einstellungen zurücksetzen
  3. und die Reset Option

Der Simulator von Apple, selbst die IDE, weist Fehler auf. Das Schließen und erneute Öffnen sowie das Zurücksetzen des Simulators sind immer zu Beginn Ihrer Suche nach einer Lösung zu berücksichtigen.

Hoffe das hilft!

3
ChrisHaze

Laut Facebook:

iOS SDK unterstützt SafariViewController, mit dem wir die Anzeige von im Web gerenderten Dialogen anstelle eines App-Wechsels umschalten können. Dieses Beta-SDK ermittelt basierend auf dem Gerät automatisch die beste App-Switch-Erfahrung für Benutzer. Beispiel: Standardmäßig wird die Benutzererfahrung über SafariViewController anstelle der Safari für Facebook-Anmeldung verwendet.

Facebook-Referenzlink: https://developers.facebook.com/bugs/786729821439894/?search_id

Stapelverweis-Link: https://stackoverflow.com/a/32593070/2905967

1
Manab Kumar Mal

1] Authentifizierung in Developer.facebook und Generierung einer Facebook-ID wie: => 460481580805052

2] Set Bitcode: No From Build Settings

3] Plist-Datei einrichten

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fb460481580805052</string>
        </array>
    </dict>
</array>

<key>FacebookAppID</key>
<string>460481580805052</string>

<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>akamaihd.net</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>facebook.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>fbcdn.net</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
    </dict>
</dict>

<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>
    <string>fb-messenger-platform-20150128</string>
    <string>fb-messenger-platform-20150218</string>
    <string>fb-messenger-platform-20150305</string>
</array>

4] Laden Sie 4 Sdk Framework wie

=>Bolts.framework
=>FBSDKCoreKit.framework
=>FBSDKLoginKit.framework
=>FBSDKShareKit.framework
0
Gaurav Patel

Wenn Sie diese Schritte ausführen, können Sie diesen Fehler möglicherweise vermeiden:

1) gehe zu -> Unterstützende Datei

2) info.plist

3) Klicken Sie mit der rechten Maustaste auf info.plist -> Öffnen als -> Quellcode auswählen

* Code unten in <dict>...</dict> * Einfügen

<key>LSApplicationQueriesSchemes</key>
<array>
  <string>fbapi</string>
  <string>fb-messenger-api</string>
  <string>fbauth2</string>
  <string>fbshareextension</string>
</array>
0
Bhavin Chauhan

Fügen Sie für iOS 9 oder höher die folgende Methode in Ihre AppDelegate-Datei ein:

https://stackoverflow.com/a/43515243/53501

0
Muzammil

bitte verwenden Sie LSApplicationQueriesSchemes oder fügen Sie Ihre App-ID in plist ein.

0
viveksharma