一种检查 IDFA 是否可用的动态方法
A dynamic way of checking if IDFA is available
我正在开发一个 iOS 其他应用程序将集成的 SDK。如果我的代码为 运行 的应用程序链接到 AdSupport.framework
,我想使用 IDFA 进行安装归因。否则不会。
当我使用下面的代码时,苹果会拒绝申请吗?
+ (NSString *)appleIDFA {
NSString *idfa = nil;
Class ASIdentifierManagerClass = NSClassFromString(@"ASIdentifierManager");
if (ASIdentifierManagerClass) {
SEL sharedManagerSelector = NSSelectorFromString(@"sharedManager");
id sharedManager = ((id (*)(id, SEL))[ASIdentifierManagerClass methodForSelector:sharedManagerSelector])(ASIdentifierManagerClass, sharedManagerSelector);
SEL advertisingIdentifierSelector = NSSelectorFromString(@"advertisingIdentifier");
NSUUID *advertisingIdentifier = ((NSUUID* (*)(id, SEL))[sharedManager methodForSelector:advertisingIdentifierSelector])(sharedManager, advertisingIdentifierSelector);
idfa = [advertisingIdentifier UUIDString];
}
return idfa;
}
我最终使用了这些解决方案并且没有遇到任何问题。
我正在开发一个 iOS 其他应用程序将集成的 SDK。如果我的代码为 运行 的应用程序链接到 AdSupport.framework
,我想使用 IDFA 进行安装归因。否则不会。
当我使用下面的代码时,苹果会拒绝申请吗?
+ (NSString *)appleIDFA {
NSString *idfa = nil;
Class ASIdentifierManagerClass = NSClassFromString(@"ASIdentifierManager");
if (ASIdentifierManagerClass) {
SEL sharedManagerSelector = NSSelectorFromString(@"sharedManager");
id sharedManager = ((id (*)(id, SEL))[ASIdentifierManagerClass methodForSelector:sharedManagerSelector])(ASIdentifierManagerClass, sharedManagerSelector);
SEL advertisingIdentifierSelector = NSSelectorFromString(@"advertisingIdentifier");
NSUUID *advertisingIdentifier = ((NSUUID* (*)(id, SEL))[sharedManager methodForSelector:advertisingIdentifierSelector])(sharedManager, advertisingIdentifierSelector);
idfa = [advertisingIdentifier UUIDString];
}
return idfa;
}
我最终使用了这些解决方案并且没有遇到任何问题。