iOS:App審核被拒之Your app also uses the "prefs:root=" non-public URL scheme, which is a private entity...

參考文章:記錄AppStore審核被拒絕經(jīng)歷

prefs:root 上架被拒問題

收到的被拒信息為

Your app also uses the "prefs:root=" non-public URL scheme, which is a private entity. The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change.

原因是用到了私有api,跳轉(zhuǎn)至設(shè)置的api.

1. 全局搜索prefs:root

查到有以下引用方法等

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Privacy"]];//隱私設(shè)置

蘋果的要求是不可以再使用prefs:root以及App-Prefs:root的接口來做app內(nèi)部和系統(tǒng)設(shè)置的跳轉(zhuǎn)了?,F(xiàn)在做app系統(tǒng)設(shè)置跳轉(zhuǎn),官方的只能使用UIApplicationOpenSettingURLString.

并且,明確一點,就是打開url的api也是需要做適配的。
iOS10以下

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];

iOS10及以上

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString] options:@{} completionHandler:nil];

2. 使用命令行檢索私有api

1.打開中斷,cd到要檢索的工程目錄
2.分別輸入以下命令行,來找到使用了(私有API)的SDK或者.a的靜態(tài)庫:

find . | grep -v .svn | grep "\.a" | grep -v "\.app" | xargs grep 【私有API】
grep -lr "【私有API】" * | grep -v .svn | grep -v .md

3.根據(jù)終端提示修改代碼

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容