使用#import <AppTrackingTransparency/AppTrackingTransparency.h> 是否与链接 AppTrackingTransparency.framework 相同?

Is using #import <AppTrackingTransparency/AppTrackingTransparency.h> the same as linking the AppTrackingTransparency.framework?

对于令人困惑的 AppTrackingTransparency 设置,我只是简单地添加了

Privacy - Tracking Usage Description - My description

到.plist文件,以及使用

#import <AppTrackingTransparency/AppTrackingTransparency.h>

在我的 AppDelegate.h 文件中。

以及调用;

if (@available(iOS 14, *)) {
            [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
                switch (status) {
                    case ATTrackingManagerAuthorizationStatusAuthorized:
                        NSLog(@"ATTrackingManagerAuthorizationStatusAuthorized");
                        
                        break;
                    case ATTrackingManagerAuthorizationStatusDenied:
                       
                        NSLog(@"ATTrackingManagerAuthorizationStatusDenied");
                        break;
                    case ATTrackingManagerAuthorizationStatusRestricted:
                        
                        NSLog(@"ATTrackingManagerAuthorizationStatusRestricted");
                        break;
                    case ATTrackingManagerAuthorizationStatusNotDetermined:
                        
                        NSLog(@"ATTrackingManagerAuthorizationStatusNotDetermined");
                        break;
                }
            }];
        } else {
           
            // Fallback on earlier versions
        }
    
}

关于编译,甚至提交应用程序,一切都很好,但是我现在意识到我没有在 Xcode 的 'Build Phases' 部分导入 AppTrackingTransparency.framework .

我是否也应该在构建阶段添加这个框架,我到目前为止还没有这样做是个问题吗?

如果您可以成功编译您的应用程序,那么您肯定已经 link 您的应用程序以某种方式 AppTrackingTransparency.framework

否则,您将看到来自 Xcode 的错误消息,如下面的屏幕截图所示:

您使用 CocoaPods、Carthage 还是 Swift 包管理器?也许你的包裹之一 link 到 AppTrackingTransparency.framework.