提交App Store審核被拒梯浪,說是使用了私有api恕曲。
“com.apple.springboard.lockcomplete”就是這個(gè)玩意兒褥影。全局范圍搜索,并沒有离例,所以考慮到應(yīng)該是一些三方sdk的問題换团。于是咱得找到是哪個(gè)sdk使用了這個(gè)私有api啊。這里就需要終端命令:
打開終端宫蛆,首先cd到工程文件夾下面艘包,然后利用命令行:“grep -r” 空格 加上蘋果審核文件里說的私有api名稱,我這里就是“com.apple.springboard.lockcomplete” 空格"."注意最后這個(gè)"."不能掉耀盗;
發(fā)現(xiàn)問題了辑甜,找到那個(gè)使用了該私有api的三方了,找最新的sdk替換之后就行了袍冷。如果不能找到清潔的sdk進(jìn)行替換磷醋,那可能就只能刪掉了,這個(gè)根據(jù)自己項(xiàng)目的實(shí)際情況來定胡诗。
還有一種方式是通過另一種命令找到項(xiàng)目中包含“com.apple.springboard.lockcomplete”的字符串邓线,當(dāng)然你也可以只搜索其中一段淌友,比如“springboard”。具體方法如下:
首先將你提交審核的ipa重命名為zip格式骇陈,然后解壓震庭,如果有看到兩個(gè)文件夾Payload、Symbols你雌,就表示沒問題器联,可以繼續(xù)往下操作,cd到Payload里面的app婿崭,注意拨拓,不是cd到Payload,而是cd到Payload里面的app氓栈,然后執(zhí)行如下命令:strings - -a -arch armv7 "項(xiàng)目名稱" | grep "私有api字符串"渣磷。運(yùn)行之后,能搜索出包含"私有api字符串"的字符串授瘦。然后對(duì)搜索出來的字符串一一進(jìn)行上面第一種方式醋界,這兩種方式結(jié)合,就能更細(xì)致的找出哪些三方sdk包含私有api提完。以上只是個(gè)人開發(fā)中遇到的問題形纺,不敢保證一定正確有效。至少我使用這種方式解決了問題徒欣。