iOS 14.0 适配IDFA
2020-10-12 本文已影响0人
刃之剑
+ (void)getIDFA{
if(@available(iOS14, *)) {
#if __has_include()
// iOS14及以上版本需要先请求权限
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
// 获取到权限后,依然使用老方法获取idfa
if(status == ATTrackingManagerAuthorizationStatusAuthorized) {
NSString *idfa = [[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString];
NSLog(@"%@",idfa);
}else{
NSLog(@"请在设置-隐私-跟踪中允许App请求跟踪");
}
}];
#else
// iOS14以下版本依然使用老方法
// 判断在设置-隐私里用户是否打开了广告跟踪
if ([[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]) {
NSString *idfa = [[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString];
NSLog(@"%@",idfa);
}else{
NSLog(@"请在设置-隐私-广告中打开广告跟踪功能");
}
#endif
}else{
// iOS14以下版本依然使用老方法
// 判断在设置-隐私里用户是否打开了广告跟踪
if ([[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]) {
NSString *idfa = [[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString];
NSLog(@"%@",idfa);
}else{
NSLog(@"请在设置-隐私-广告中打开广告跟踪功能");
}
}
}