【iOS】idfa查找

find . | grep -v .svn  | grep "\.a" | grep -v "\.app" | xargs grep advertisingIdentifier

使用这个终端命令查找,查到几个使用的库里带有idfa

libWeChatSDK.a

libWeiboSDK.a

libTalkingData.a

libTalkingDataAppCpa.a


grep -r advertisingIdentifier

这个递归查找 太慢,

另外,还有说在新浪微博中

移除SinaWeiboSDK/libWeiboSDK.a,分享还是可以成功的。


分析如下:

最近这类的被拒,特别多,因为Apple修改了审核标准,IDFA只能用于广告服务

PLA 3.3.12

"You and Your Applications (and any third party with whom you have contracted to serve advertising) may us the Advertising Identifier, and any information obtained through the use of the Advertising Identifier, only for the purpose of serving advertising. If a user resets the Advertising Identifier, then You agree not to combine, correlate, link or otherwise associate, either directly or indirectly, the prior Advertising Identifier and any derived information with the reset Advertising Identifier."

出现这种情况的原因如下:

1 使用了第三方的库,第三方的库根据IDFA进行跟踪用户,同时APP没有加载广告。

2 使用了第三方的库,第三方的库根据IDFA进行跟踪用户,同时加载了iAD广告。

3 同时使用了iAD+ADMOB等广告。

被拒的情况大概就是上面三种,其他的不会有问题。

对应的解决方法:

第一种情况解决方法:

需要把和IDFA相关的代码和接口去除,因为IDFA只可以用于广告服务。

第二种情况解决方法:

iAD不使用IDFA,具体怎么实现的,iOS内部搞的,所以要解决这个问题需要把iAD换成类似Admob一类的广告服务,或者按照第一种情况来解决,就是去除第三方中IDFA相关的代码和接口。

第三种情况解决方法:

大概比较费解,明明加了Admob等广告,为啥还是给我拒绝了呢,这种情况要看广告的加载机制,一般开发者会优先加载iAD,如果没有广告源,则加载Admob(Admob是使用了IDFA),问题就出现了在这里,审核人员一般在美国,那里是有iAD的,或者现在app的状态还没有上线,iad属于测试状态,所以iAD的广告是可以获取,这样就给审核人员一个印象:app使用了IDFA(admob中),但是只是展示了iAD的广告,没有看到其他的广告服务,他们会怀疑你使用IDFA做了其他的事情,所以拒了!!!


参考 http://zasoft.blog.163.com/blog/static/20521517620142425057535/

你可能感兴趣的:(【iOS】idfa查找)