因為idFa被appStore拒絕瞳浦,查了一下盖文,工程里使用idfa的情況(廣告標識符),在本項目中沒有使用iad廣告双饥,只是使用了廣告標識符媒抠; 看來還是得在使用了IDFA的,還得讓審核人員看到廣告咏花∨可可以加入本地廣告圖片,或者自定義一張廣告等廣告
啥是IDFA
關于IDFA昏翰,在提交應用到App Store時苍匆,iTunes Connect有如下說明:分析如下:
最近這類的被拒,特別多棚菊,因為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."
出現(xiàn)這種情況的原因如下:
1 使用了第三方的庫统求,第三方的庫根據(jù)IDFA進行跟蹤用戶民轴,同時APP沒有加載廣告。
2 使用了第三方的庫球订,第三方的庫根據(jù)IDFA進行跟蹤用戶,同時加載了iAD廣告瑰钮。
3 同時使用了iAD+ADMOB等廣告冒滩。
被拒的情況大概就是上面三種,其他的不會有問題浪谴。
對應的解決方法:
--第一種情況解決方法:
需要把和IDFA相關的代碼和接口去除开睡,因為IDFA只可以用于廣告服務。
--第二種情況解決方法:
iAD不使用IDFA苟耻,具體怎么實現(xiàn)的篇恒,iOS內部搞的,所以要解決這個問題需要把iAD換成類似Admob一類的廣告服務凶杖,或者按照第一種情況來解決胁艰,就是去除第三方中IDFA相關的代碼和接口。
--第三種情況解決方法:
大概比較費解,明明加了Admob等廣告腾么,為啥還是給我拒絕了呢奈梳,這種情況要看廣告的加載機制,一般開發(fā)者會優(yōu)先加載iAD,如果沒有廣告源解虱,則加載Admob(Admob是使用了IDFA)攘须,問題就出現(xiàn)了在這里,審核人員一般在美國殴泰,那里是有iAD的于宙,或者現(xiàn)在app的狀態(tài)還沒有上線,iad屬于測試狀態(tài)悍汛,所以iAD的廣告是可以獲取捞魁,這樣就給審核人員一個印象:app使用了IDFA(admob中),但是只是展示了iAD的廣告员凝,沒有看到其他的廣告服務署驻,他們會懷疑你使用IDFA做了其他的事情,所以拒了=∨旺上!
檢查IDFA的方法:
打開終端cd到要檢查的文件的根目錄(記住是項目根目錄, 不是ipa目錄, 原作者不說清除)
執(zhí)行下列語句:
grep -r advertisingIdentifier
例子1:
雖然ShareSDK本身沒使用IDFA,但是ShareSDK里面的新浪微博SDK使用了糖埋。這點ShareSDK官方也說明了宣吱,如果需要徹底沒有使用IDFA,可以移除新浪微博SDK瞳别,分享征候、第三方登錄等依然可以繼續(xù)使用,不受影響祟敛。
例子2:
可以檢查出ShareSDK自帶的MOBFoundation.framework和新浪微博SDK都使用了IDFA
其他命令查找
find . | grep -v .svn | grep "\.a" | grep -v "\.app" | xargs grep advertisingIdentifier
使用這個終端命令查找疤坝,查到幾個使用的庫里帶有idfa
libWeChatSDK.a
libWeiboSDK.a
libTalkingData.a
libTalkingDataAppCpa.a