[FIXED] iOS 14 erhält Benutzereinwilligung mit Facebook SDK

Ausgabe

Ich bin kein Neuling in der iOS-Entwicklung, aber dies ist das erste Mal, dass ich mich mit Facebook SDK befasse. Ich habe den FB-Leitfaden befolgt, um ein Ereignis in meiner App einzurichten (installiertes SDK-Swift-Paket, FBSDKCoreKit-Methoden zu AppDelegate hinzugefügt), bis zur allerletzten Anweisung zum Einholen der Benutzereinwilligung mit iOS 14.

Der Facebook-Leitfaden stellt dieses Code-Snippet zur Verfügung, das verwendet werden kann, wenn die Zustimmung eingeholt wird mit requestTrackingAuthorization():

FBAdSettings.setAdvertiserTrackingEnabled(true)

Das Problem ist, dass die FBAdSettingsKlasse in meinem Code nicht gültig zu sein scheint (Xcode beschwert sich, dass sie nicht im Gültigkeitsbereich gefunden werden kann), obwohl ich es getan habe import FBSDKCoreKitund es keine anderen FB-Module zum Importieren gibt.

Hier ist mein Code in voller Länge:

import UIKit
import AppTrackingTransparency
import FBSDKCoreKit

extension ViewController {
    func requestTrackingPermission() {
        if #available(iOS 14, *) {
            ATTrackingManager.requestTrackingAuthorization { (status) in
                switch status {
                    case .authorized:
                        FBAdSettings.setAdvertiserTrackingEnabled(true)  //Cannot find 'FBAdSettings' in scope
                    ...
                }
            }
        } else {
            // Fallback on earlier versions
        }
    }
}

Was fehlt mir hier?

Lösung

Die Dokumentation ist zumindest irreführend. Sie müssen importieren FBSDKCoreKit.FBSDKSettingsund das Snippet ist Settings.setAdvertiserTrackingEnabled(true). Wie Sie sehen können, ist es nicht FBAdSettingsnur Settings.


Beantwortet von –
Ionut


Antwort geprüft von –
Jay B. (FixError Admin)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like