这篇文章我们来解决一个问题,关于IDFA的:
您的 App 正在使用广告标识符 (IDFA)。您必须先提供关于 IDFA 的使用信息或将其从 App 中移除,然后再上传您的二进制文件。
从 14年2月初开始,Apple开始拒绝采集IDFA(identifier for advertising)而未集成任何广告服务的应用进入AppStore。怎么看自己的项目是否采集了IDFA呢?方法很简单,大家去看 framework,看看有没有一个framework叫AdSupport.framework。
如果有,那就惨了,上两张图看看:
如果你选择了“否”:
方案一:重新下载xcode
如果你的xcode不是最新版本的,建议下载最新版本的。重新打包后,再次提交审核。
如果你的xcode不是正规渠道下载的,建议从苹果官方下载。
有朋友尝试过方案一,问题得到解决。如果解决不了,还有方案二。
方案二:检测哪里用到IDFA
首先cd到你的工程目录下,然后执行命令:
grep -r advertisingIdentifier .
grep -r advertisingIdentifier 简单的说,你用这条语句检测自己的工程,如果没有查到相关引用,那么就不要勾选使用idfa,如果查到了相关引用,并且这些文件是用于展现广告的用途,那么勾选使用了idfa
果然找到了罪魁祸首,原来是SinaWeiboSDK/libWeiboSDK.a
ios9之后新浪微博分享可使用的前提是加入ADSupport.framework,打包提交后一直报您的 App 正在使用广告标识符 (IDFA)。您必须先提供关于 IDFA 的使用信息或将其从app中移除,再上传二进制文件。
找到了源头,那么接下来怎么做就简单了。
承认使用了IDFA,然后选择相应的选项。
移除SinaWeiboSDK/libWeiboSDK.a,分享还是可以成功的。
shareSDK总结一下,
(1)、如果你的应用里只是集成了广告,不追踪广告带来的激活行为,那么选择1和4;
(2)、如果您的应用没有广告,而又获取了 IDFA。我们建议开发者朋友选择2和4,这种做法苹果官方没有明确说明,但目前为止还没有收到开发者选择2和4被拒的反馈。