没有这样的模块“AppTrackingTransparency”错误

Pre*_*4_7 13 xcode ios

我正在尝试更新我的 Google AdMob 帐户,因为 Apple 宣布了一个新的透明度框架,该框架要求随着 iOS 14 的发布对 iOS 应用程序进行更改。我将我的 Google AdMob pod 更新到最新版本 (7.64.0)。但是,当我尝试在 App Delegate 中使用以下代码时:-

import AppTrackingTransparency
import AdSupport
...
func requestIDFA() {
    ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
    // Tracking authorization completed. Start loading ads here.
    // loadAd()
    })
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:-

No such module 'AppTrackingTransparency'
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

Ahm*_*adi 18

它仅从 Xcode 12 开始可用,包括测试版。

并使用它

import AppTrackingTransparency
import AdSupport

if #available(iOS 14, *) {
   ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
  // Load ads here 
   })
} else {
  // Load ads here 
}
Run Code Online (Sandbox Code Playgroud)

RewardedVideoAdsManager 示例

class RewardedVideoAdsManager: GADRewardedAd {


static let shared = RewardedVideoAdsManager()

var rewardedAd: GADRewardedAd?

func createAndLoadRewardedAd(unitId: String) -> GADRewardedAd? {
    rewardedAd = GADRewardedAd(adUnitID: unitId)
    let myRequest = GADRequest()
    rewardedAd?.load(myRequest) { error in
        if let error = error {
            print("Loading failed: \(error)")
        } else {
            print("Loading Succeeded")
        }
    }
    return rewardedAd
}
Run Code Online (Sandbox Code Playgroud)

}

在我的 AppDelegate 或 First 主屏幕中

    if #available(iOS 14, *) {
        ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
            RewardedVideoAdsManager.shared.rewardedAd = RewardedVideoAdsManager.shared.createAndLoadRewardedAd(unitId: "ca-app-pub-8175294120313121/4011630802")
        })
    } else {
        RewardedVideoAdsManager.shared.rewardedAd = RewardedVideoAdsManager.shared.createAndLoadRewardedAd(unitId: "ca-app-pub-8175294120313121/4011630802")
    }
Run Code Online (Sandbox Code Playgroud)


Phạ*_* Ân 5

目标-c:

#import <AppTrackingTransparency/AppTrackingTransparency.h>
#import <AdSupport/AdSupport.h>

extern "C" void RequestIDFA()
{
    if (@available(iOS 14, *)) {
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
        }];
    } else {
    }
}

Run Code Online (Sandbox Code Playgroud)