今天回顾一个权限问题
1.工程中先导入一下两个框架
#import <AppTrackingTransparency/AppTrackingTransparency.h>
#import <AdSupport/ASIdentifierManager.h>
2.在info.plist文件中source code中添加
<key>NSUserTrackingUsageDescription</key>
<string>獲取設備信息用以精準推送您喜歡的內容</string>
3.在调用的方法中写入
IOS15以下
在didFinishLaunchingWithOptions中
if(@available(iOS14, *)) {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
if (status == ATTrackingManagerAuthorizationStatusAuthorized) {
NSString *idfaString = [[ASIdentifierManager sharedManager] advertisingIdentifier].UUIDString;
}
}];
}else{
// 使用原方式访问 IDFA
NSString *IDFA = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
}
IOS15以后把调用请求权限方法放到
applicationDidBecomeActive这里面
这样第一次安装app时就会提示,如果没提示的话就看看手机设置中是否允许广告追踪,或者看下以上哪步有问题
网友评论