2016-08-18 48 views
1

我正在研究其他应用程序将集成的iOS SDK。如果我的代码正在运行的应用程序与AdSupport.framework链接,我希望将IDFA用于安装归因。否则不是。检查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; 
} 

回答

0

我结束了使用这些解决方案,并没有问题。