App提交審核檢查指南

一、APP檢查

1、info.plist 權(quán)限配置

確保相機(jī)、相冊(cè)等權(quán)限key添加了,并且是真的使用到了,未使用不要添加。同時(shí)確保描述內(nèi)容要包含具體的功能

1.1、plist文件添加權(quán)限key

    <key>NSAppleMusicUsageDescription</key>
    <string>此 App 需要您的同意才能訪問媒體資料庫</string>
    <key>NSCalendarsUsageDescription</key>
    <string>此 App 需要您的同意才能使用日歷安排日程功能</string>
    <key>NSCameraUsageDescription</key>
    <string>此 App 需要您的同意才能使用攝像頭權(quán)限實(shí)現(xiàn)二維碼掃描或拍照等功能</string>
    <key>NSContactsUsageDescription</key>
    <string>此 App 需要您的同意才能使用通訊錄權(quán)限實(shí)現(xiàn)保存聯(lián)系人到手機(jī)的功能</string>
    <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
    <string>此 App 需要您的同意才能使用地理位置權(quán)限實(shí)現(xiàn)打卡定位功能</string>
    <key>NSLocationAlwaysUsageDescription</key>
    <string>此 App 需要您的同意才能使用地理位置權(quán)限實(shí)現(xiàn)打卡定位功能</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>此 App 需要您的同意才能使用地理位置權(quán)限實(shí)現(xiàn)打卡定位功能</string>
    <key>NSMicrophoneUsageDescription</key>
    <string>此 App 需要您的同意才能訪問使用話筒權(quán)限實(shí)現(xiàn)聊天時(shí)發(fā)送語音消息等功能</string>
    <key>NSPhotoLibraryUsageDescription</key>
    <string>此 App 需要您的同意才能使用相冊(cè)權(quán)限實(shí)現(xiàn)聊天發(fā)送照片功能</string
    <key>NSPhotoLibraryAddUsageDescription</key>
    <string>此 App需要您的同意才能將圖片保存到相冊(cè)</string>
    <key>NSRemindersUsageDescription</key>
    <string>此 App 需要您的同意才能訪問提醒事項(xiàng)</string>
       

1.2、權(quán)限申請(qǐng)描述

描述需要說明什么功能需要使用相機(jī)相冊(cè)等權(quán)限
如:APP的掃描二維碼需要使用您的相機(jī)權(quán)限等


2、檢查UIWebview

grep -r UIWebview . 
  • 確保項(xiàng)目沒有直接使用UIWebview
  • AFNetworking是否去掉UIWebview的分類


3、應(yīng)用檢測(cè)時(shí)提示文案

第三方登錄、支付、分享,未安裝應(yīng)用時(shí),不能有引導(dǎo)去下載第3方APP的文案


4、https的問題:以下代碼有風(fēng)險(xiǎn)

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

從 2017 年 1 月 1 日起,所有的新提交 app 默認(rèn)是不允許使用 NSAllowsArbitraryLoads 來繞過 ATS 限制的,也就是說,我們最好保證 app 的所有網(wǎng)絡(luò)請(qǐng)求都是 HTTPS 加密的,否則可能會(huì)在應(yīng)用審核時(shí)遇到麻煩。


5、檢查是否用了隱藏功能

如果APP沒有用到微信支付、阿里支付,請(qǐng)刪除

//檢查是否用了微信支付
grep -r weixin . 
//檢查是否用了阿里支付
grep -r alipay . 


6、私有API


7、私有URL scheme

在引導(dǎo)APP用戶設(shè)置權(quán)限時(shí),經(jīng)常通過openURL,指定URL的方式,打開APP權(quán)限設(shè)置界面,如:

@"prefs:root= LOCATION_SERVICES
@"prefs:root= Bluetooth"

使用“prefs:root”做跳轉(zhuǎn) 以及 在info.plist中加入U(xiǎn)RL scheme值為prefs:在提交審核時(shí),都會(huì)被拒。

1、移除以下類型的url scheme

"prefs:root" 
"App-Prefs:root"

2、跳轉(zhuǎn)到APP的權(quán)限設(shè)置界面使用如下方式:

NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];                
if([[UIApplicationsharedApplication]canOpenURL:url]) {
   [[UIApplicationsharedApplication]openURL:url];               
}


二、隱私政策

1、App Store Connect 網(wǎng)站

需要提供隱私政策網(wǎng)址

2、App登錄界面

需要提供隱私政策入口
最好是勾選的方式,不勾選不讓過


三、App Store Connect 網(wǎng)站APP信息

1、各個(gè)屏幕的尺寸的截圖
2、圖標(biāo)一定要有1024的非圓角的圖標(biāo)
3、隱私政策網(wǎng)址
4、APP有登陸的,需要提供測(cè)試賬號(hào)
確保提交審核的賬號(hào)和密碼能正常登錄,并功能正常
確保不要配置廣告
確保沒有支付功能


四、Xcode打包

1、使用符合要求的xcode版本打包
2、檢查scheme的Archive是否為Release

Edit Scheme -> Archive ->Build Configuration ->Release

1、確保xcode10打包
2、確保是release包、distribute證書
3、確保版本號(hào)和build號(hào)
4、確保選擇Generic iOS Device
5、確保網(wǎng)絡(luò)請(qǐng)求和H5地址:使用線上環(huán)境
6、確保版本更新debug模式關(guān)掉,并且審核期間不要打開版本更新
7、確保微信小程序支付id是否正確,否則不能正常跳轉(zhuǎn)
8、確保推送bundleid是否ok


五、ipv6服務(wù)器檢查:

使用如下命令:不報(bào)錯(cuò),就表示支持ipv6

dig +nocmd +nostats 域名 AAAA

具體的測(cè)試結(jié)果如下:

>dig +nocmd +nostats https://www.baidu.com AAAA
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 8533
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;https://www.baidu.com.     IN  AAAA

;; AUTHORITY SECTION:
baidu.com.      896 IN  SOA dns.baidu.com. sa.baidu.com. 2012141806 300 300 2592000 7200

六、iOS14 local network 拒絕

最近更新應(yīng)用,iOS14后被拒絕了,被拒拒原因如下;

Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage  

We noticed that your app requests the user’s consent to access the local network information but does not clarify the use of the local network information in the applicable purpose string.  

To help users understand why your app is requesting access to their personal data, all permission request alerts in your app should specify how your app will use the requested feature.  

Next Steps  

Please revise the relevant purpose string in your app’s Info.plist file to specify why the app is requesting access to the local network information.  

You can modify your app's Info.plist file using the property list editor in Xcode.  

解決辦法:
參考文章:https://www.cnblogs.com/qizhuo/p/13846430.html
1、檢查項(xiàng)目第三方sdk,目前大部分新版本SDK都移除了相關(guān)代碼,已經(jīng)不需要相應(yīng)權(quán)限,更新SDK就可以了。
2、如果確實(shí)需要就在plist中增加NSLocalNetworkUsageDescription 及相應(yīng)的用途說明。





參考文章

iOS APP 上架審核過程中常見問題整理
iOS iPv6審核被拒

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

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