您必须 AppTrackingTransparency
从 ios 14 开始实施才能显示跟踪权限。从此实现中,您可以收集 IDFA。
在 AppDelegate 中执行此操作
import AppTrackingTransparency
didFinishLaunchingWithOptions launchOptions
写一个这样的函数
if #available(iOS 14, *) {
self.requestIDFAPermission()
}
然后写这个函数
func requestIDFAPermission() {
if #available(iOS 14, *) {
let semaphore = DispatchSemaphore(value: 0)
DispatchQueue.main.async {
ATTrackingManager.requestTrackingAuthorization { (status) in
if (status == .authorized) {
let idfa = ASIdentifierManager.shared().advertisingIdentifier
print("IDFA: " + idfa.uuidString)
} else {
print("Failed to get IDFA")
}
semaphore.signal()
}
}
semaphore.wait()
}
}
还有一件事。您应该Privacy - Tracking Usage Description
在 Plist 中添加。
