小编don*_*han的帖子

iOS 15:当应用程序在 SwiftUI 中启动时如何显示 ATT 对话框

在 iOS 14 中,当应用程序在 SwiftUI 中启动时,它可以显示 ATT(应用程序跟踪透明度)对话框,如下所示。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.
    if #available(iOS 14, *) {
        ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
            // loadAd()
        })
    } else {
        // loadAd()
    }
    return true
}
Run Code Online (Sandbox Code Playgroud)

但是,在 iOS 15.0 中,它不起作用。苹果文档描述如下。

仅当应用程序状态为:UIApplicationStateActive 时才会提示调用 API。通过应用扩展调用 API 不会提示。 https://developer.apple.com/documentation/apptrackingtransparency/attrackingmanager/3547037-requesttrackingauthorization

如何在 iOS 15 中应用程序启动时显示 ATT 对话框?

2021/9/28更新 我解决如下。

struct HomeView: View {
    var body: some View {
        VStack {
            Text("Hello!")
        }.onReceive(NotificationCenter.default.publisher(for: UIApplication.didBecomeActiveNotification)) { …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui apptrackingtransparency ios15

14
推荐指数
3
解决办法
9863
查看次数

标签 统计

apptrackingtransparency ×1

ios ×1

ios15 ×1

swift ×1

swiftui ×1