iOS14 idfa需要申请才可以使用,用户可以主动拒绝追踪,所以需要我们给用户提示让用户去选择

话不多说直接上代码

 

1.在plist文件中 新增Privacy - Tracking Usage Description  该id将用于向您推送个性化广告

2.引入 Adsupport.framework    ; appTrackingTransparency.framework 

3.在对应的地方引入头文件,一般在appdelegate

#import <AdSupport/ASIdentifierManager.h>

#import <AppTrackingTransparency/AppTrackingTransparency.h>

4.打开追踪开关,申请权限

if (@available(iOS 14, *)) {
                //IDFA 未请求权限:00000000-0000-0000-0000-000000000000 请求权限成功后:5AAEB13C-B619-43CF-9568-007B1B186D1F
                NSLog(@"IDFA:%@",[[ASIdentifierManager sharedManager] advertisingIdentifier]);
                //申请权限
                [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
                    NSLog(@"%@",[[ASIdentifierManager sharedManager] advertisingIdentifier]);
                }];
            }

就这样完美的解决了5.1.2被拒

Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing