检查 IDFA 是不是可用的动态方法

Posted

技术标签:

【中文标题】检查 IDFA 是不是可用的动态方法【英文标题】:A dynamic way of checking if IDFA is available检查 IDFA 是否可用的动态方法 【发布时间】:2016-08-18 06:33:37 【问题描述】:

我正在开发其他应用程序将集成的 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;  

【问题讨论】:

【参考方案1】:

我最终使用了这些解决方案并且没有遇到任何问题。

【讨论】:

以上是关于检查 IDFA 是不是可用的动态方法的主要内容,如果未能解决你的问题,请参考以下文章

检查项目里是否有IDFA的方法

检查动态组件是不是存在

检查iOS项目中是否使用了IDFA

如何检查 C# 中的动态匿名类型上是不是存在属性?

Jvm(68),方法调用----动态语言的支持

AdMob 是不是使用 IDFA?