Erste Schritte mit dem Facebook-SDK für iOS

In diesem Leitfaden wird erläutert, wie du deine iOS-App mit dem Facebook SDK für iOS in Facebook integrierst.

Ab Version 13.0 des SDK musst du für alle Aufrufe an die Graph API ein Client Token angeben.

Das Facebook-SDK ermöglicht Folgendes:

Bevor du beginnst

Was du benötigst:

Schritt 1: Richte deine Entwicklungsumgebung ein.

  1. Klicke in Xcode auf Datei > Swift-Pakete > Paketabhängigkeit hinzufügen.
  2. Gib im angezeigten Dialog die Repository-URL ein: https://github.com/facebook/facebook-ios-sdk.
  3. Wähle unter VersionBis zur nächsten Übergeordneten und klicke auf die Standardoption.
  4. Nimm Eingaben für die Eingabeaufforderungen vor, um die Bibliotheken auszuwählen, die du in deinem Projekt verwenden möchtest.
  5. Dein ZielPaket, das deinem Projekt hinzuzufügen ist

    Deiner App die Nutzung der Facebook-Dienste erlauben

    FacebookCore

    Nutzer*innen erlauben, sich bei deiner App anzumelden, und deiner App erlauben, Berechtigungen für den Datenzugriff anzufordern

    FacebookLogin

    Deiner App erlauben, Inhalte auf Facebook zu teilen

    FacebookShare

    Nutzer*innen erlauben, sich bei deiner App anzumelden, um Interaktionen zu ermöglichen und Social Features hervorzuheben

    FacebookGamingServices

Schritt 2: Konfiguriere dein Projekt

Konfiguriere die Datei Info.plist mit einem XML-Ausschnitt, der Daten zu deiner App enthält.

Nachdem du Facebook Login integriert hast, werden App-Events automatisch für den Events Manager protokolliert und erfasst, es sei denn, du deaktivierst die automatische Protokollierung von App-Events. Detaillierte Informationen dazu, welche Daten erfasst werden und wie du die automatische Protokollierung von App-Events deaktivierst, findest du im Abschnitt Automatische Protokollierung von App-Events.

  1. Klicke mit der rechten Maustaste auf Info.plist und wähle „Öffnen als ▸ Quellcode“ aus.
  2. Kopiere den folgenden XML-Ausschnitt und füge ihn in den Textkörper deiner Datei ein (<dict>...</dict>).
    <key>CFBundleURLTypes</key>
    <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
        <string>fbAPP-ID</string>
      </array>
      </dict>
    </array>
    <key>FacebookAppID</key>
    <string>APP-ID</string>
    <key>FacebookClientToken</key>
    <string>CLIENT-TOKEN</string>
    <key>FacebookDisplayName</key>
    <string>APP-NAME</string>
  3. Ersetze in <array><string> im Key [CFBundleURLSchemes]APP-ID durch deine App-ID.
  4. Ersetze in <string> im Key FacebookAppIDAPP-ID durch deine App-ID.
  5. Ersetze in <string> im Key FacebookClientTokenCLIENT-TOKEN durch den Wert, den du in deinem App-Dashboard unter Einstellungen > Erweitert > Client Token findest.
  6. Ersetze in <string> im Key FacebookDisplayNameAPP-NAME durch den Namen deiner App.
  7. Wenn du Facebook-Dialoge (wie z. B. „Login“, „Teilen“ oder „App-Einladungen“) verwendest, die einen App-Wechsel zu Facebook-Apps durchführen können, muss die Info.plist-Datei deiner App ebenfalls Folgendes aufweisen:
    <key>LSApplicationQueriesSchemes</key>
    <array>
      <string>fbapi</string>
      <string>fb-messenger-share-api</string>
    </array>

Du kannst die automatische Erfassung von App-Events direkt auf „true“ oder „false“ setzen, indem du FacebookAutoLogAppEventsEnabled als Schlüssel in Info.plist hinzufügst.

Du musst in deinem Projekt die Funktion „Schlüsselbund teilen“ aufnehmen, damit die Anmeldung in Mac Catalyst-Anwendungen funktioniert.
  1. Wähle den Button + Funktion im Tab Anmeldung und Funktionen, wenn du dein App-Ziel konfigurierst.
  2. Wähle die Funktion Schlüsselbund teilen aus.
  3. Stelle sicher, dass die Funktion Schlüsselbund teilen für das Ziel aufgeführt ist.

Schritt 3: Stelle eine Verbindung zum App Delegate her

Ersetze den Code in der AppDelegate.swift Methode durch folgenden Code. Dieser Code initialisiert das SDK beim Start der App und ermöglicht dem SDK, die Anmeldungen und Teilen-Vorgänge aus der nativen Facebook-App zu verarbeiten, wenn du einen Anmelde- oder Teilen-Vorgang durchführst. Ansonsten muss der*die Benutzer*in bei Facebook angemeldet sein, um den Browser in der App für die Anmeldung zu verwenden.
    
// AppDelegate.swift
import UIKit
import FacebookCore

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {    
    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {          
        ApplicationDelegate.shared.application(
            application,
            didFinishLaunchingWithOptions: launchOptions
        )

        return true
    }
          
    func application(
        _ app: UIApplication,
        open url: URL,
        options: [UIApplication.OpenURLOptionsKey : Any] = [:]
    ) -> Bool {
        ApplicationDelegate.shared.application(
            app,
            open: url,
            sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String,
            annotation: options[UIApplication.OpenURLOptionsKey.annotation]
        )
    }  
}

iOS 13 hat das Öffnen der URL-Funktionalität verschoben auf SceneDelegate. Wenn du iOS 13, füge die folgende Methode zu deinem SceneDelegate damit Vorgänge wie das Anmelden oder die Freigabe ordnungsgemäß funktionieren:
// SceneDelegate.swift
import FacebookCore
  ...
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
    guard let url = URLContexts.first?.url else {
        return
    }

    ApplicationDelegate.shared.application(
        UIApplication.shared,
        open: url,
        sourceApplication: nil,
        annotation: [UIApplication.OpenURLOptionsKey.annotation]
    )
}

Schritt 4: Erstelle dein Projekt und führe es im Simulator aus

Wähle in Xcode einen iOS-Simulator aus und klicken Sie auf Ausführen. Xcode erstellt dein Projekt und startet dann die aktuelle Version deiner in Simulator ausgeführten App.

Schritt 5: Sieh dir die Ergebnisse im Events Manager an


Der Events Manager zeigt die Events an, die du an Facebook sendest. Wenn du die App zum ersten Mal mit diesem Code gestartet hast, musst du möglicherweise mindestens 20 Minuten warten, bevor die Events angezeigt werden.
Hinweis: Es kann bis zu 20 Minuten dauern, bis Events im Dashboard erscheinen.

Nächste Schritte

Um zu erfahren, wie du App-Events und andere Facebook-Produkte in deine App implementierst, klicke auf einen der folgenden Buttons.

Teilen unter iOSFacebook Login hinzufügenApp-Events hinzufügenGraph API verwenden
Erweiterte Konfiguration