Den*_*nov 10 facebook ios swift ios14
我对 iOS 开发并不陌生,但这是我第一次处理 Facebook SDK。我一直在遵循 FB 指南在我的应用程序中设置事件(安装了 SDK Swift 包,向 AppDelegate 添加了 FBSDKCoreKit 方法),直到最后一条关于使用 iOS 14 获得用户同意的指令。
Facebook 指南提供了以下代码片段,以便在获得同意时使用requestTrackingAuthorization():
FBAdSettings.setAdvertiserTrackingEnabled(true)
Run Code Online (Sandbox Code Playgroud)
问题是FBAdSettings该类在我的代码中似乎无效(Xcode 抱怨它在范围内找不到),尽管我做到了import FBSDKCoreKit并且没有其他 FB 模块要导入。
这是我的完整代码:
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
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么?
小智 15
该文档至少具有误导性。您必须导入FBSDKCoreKit.FBSDKSettings并且代码段是Settings.setAdvertiserTrackingEnabled(true). 如您所见,它FBAdSettings不仅是Settings。
小智 5
正确的解决方案是使用 iOS Audience Network SDK >6.0
并做:
import FBAudienceNetwork
Run Code Online (Sandbox Code Playgroud)
它会起作用的。
| 归档时间: |
|
| 查看次数: |
4888 次 |
| 最近记录: |