In meiner iPhone App möchte ich, dass der Benutzer einen Link auf Facebook teilen kann.Facebook SDK - iOS6 Login-Popup kann nicht entlassen werden
Wenn sie auf "share" klicken, verwende ich den folgenden Code, um mich mit dem neuen SDK 3.1 bei Facebook anzumelden, und dann FBRequestConnection
im Completion-Handler (ein einfacher publish_action
).
[FBSession openActiveSessionWithPublishPermissions:@[@"publish_actions"] defaultAudience:FBSessionDefaultAudienceFriends allowLoginUI:true completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
// Now call FBRequestConnection to post in the stream
}];
Wenn der Benutzer die Facebook App installiert hat, delegiert er nur die Anmeldung an die App. Wenn dies jedoch nicht der Fall ist, wird die Anmeldeseite in einem WebView geöffnet.
In iOS 5, öffnet es Mobile Safari:
Mein Problem ist auf iOS 6, ich den gleichen Fluss, aber in einem modalen Popup-Fenster statt (auf meinem app).
Ich habe 2 Probleme mit dem Pop-up:
1. Schließen sie
Es kann nicht storniert oder zurückzuweisen. Im Vergleich hat die HelloFacebookSample App aus dem SDK das gleiche Popup, aber mit einem Kreuz-Button, um es zu schließen.
HINWEIS: jetzt gelöst dank Ravi, war ich das Facebook-Ressourcenpaket fehlt, die das „Schließen“ Bild enthält.
2. Die Berechtigungen annehmen
Auf der zweiten Stufe des Popup (siehe Bildschirme oben), drücken Ok nichts tun. Das Drücken des "X" ruft den Beendigungshandler mit einem Fehler auf, was großartig ist, aber nichts passiert mit Okay. Ist dies der richtige Weg, um sich mit dem SDK 3.1 bei Facebook anzumelden? Fehle ich einen Rückruf, um speziell auf das Popup zu reagieren?
Einige weitere Erläuterungen:
Dies geschieht nur in iOS6, wenn die Facebook-App nicht installiert ist und das Facebook-Konto ist nicht in den Einstellungen iOS konfiguriert.
Vielen Dank!
1 im mit ähnlichem Problem nach FB 3.0SDk aktualisiert – iMeMyself
könnte ein Fehler in dem SDK sein. Nur eine Notiz; Facebook regt an, nach Veröffentlichungsberechtigungen zu fragen, wenn Sie tatsächlich publizieren (und nicht, wenn Sie eine Verbindung herstellen): http://developers.facebook.com/docs/howtos/ios-6/ –
Danke Kristofer - durch "führe eine publish_action später aus" I eigentlich gemeint, sobald der Login-Callback ankommt. Ich denke, das sollte in Ordnung sein. – Gromix