1. 程式人生 > >iOS - 工作之餘 appStore上線被拒大總結

iOS - 工作之餘 appStore上線被拒大總結

開發了許久的app終於要上線了,年底將至,17.12.23-17.12.27是蘋果稽核團隊放假的日子,我在放假之前提交了多個版本,亂七八遭的被拒理由都遇到了。因為在這裡,轉載一個很全的稽核文件。一是與大家共享,二是之後再上線的時候可以看看。

一. 元資料錯誤
測試賬號壓根登入不上去,這就坑啥了! so, 提前和 server 同事說好,不要刪除測試賬號 或者 上線稽核過程中務必不要正式資料庫崩潰!
當截圖僅僅是啟動頁或者引導頁(歡迎頁)截圖時,蘋果會認為 APP 截圖展現沒有充分反映您的應用程式使用。
請修改您的截圖,以確保他們準確地反映在使用的應用程式。
2.3.3錯誤提示, 採用螢幕預覽或者截圖時, iPhone X (5.8寸)的一定要與5.5寸的相同一致的,否則就會提示您為 iPhone 5.8提交的截圖沒有準確反映該裝置上執行的應用程式. (目前 iPhone X 的可選填是否上傳截圖).
注意:因為你的iTunes Connect狀態是元資料的拒絕,不需要一個新的二進位制。只需要重新100%的 command +S 去模擬器截圖 APP 內容.

二. 程式有重大bug
程式不能啟動,或者中途退出。程式若有crash被拒.修改bug後重新上線即可.千萬避免這種情況,上架前都要測試 OK.

三. 稽核狀態中屬於正式環境,不要有測試資料
注意:
任何資料同樣不要有“試用”,“演示”,“試用”,或“測試”版本 字眼,一定要跟伺服器同事說好,上線時候正式庫的資料、測試字眼英語單詞哪怕拼音最好也不要出現,會被拒的。

四. 更新版本
更新這是敏感字眼,蘋果稽核可謂見光必殺,那我們的產品大大必須要求和安卓一致需要這些功能.
解決方案:
我的邏輯是,線上開啟,稽核期間去遮蔽相對應線上版本的. 需要後臺給我一個欄位,稽核的時候是0,上線後是1.

五. VIP 會員 繞過蘋果的付費渠道
繞過蘋果的付費渠道,我們目前專案裡的有個vip功能涉嫌應用內收費, 但僅僅是微信支付和支付寶支付, 並未使用蘋果支付,直接被拒,返回郵件就是會員介面截圖.
解決方案:
和更新版本思路一樣:線上開啟,稽核期間去遮蔽相對應線上版本的. 需要後臺給我一個欄位,稽核的時候是0,上線後是1.

六. 正確選擇評級
之前一個朋友做過一個app是婚戀型別的 更適合成人觀眾。年齡設定太低,說是有成人內容,被拒.修改內容後上線.
上架失敗,郵件回覆:您選擇的評級,4 +,與您的應用程式的內容不一致。由於你的應用程式主要是一個約會應用程式,它更適合成人觀眾。因此,你必須選擇一個“刺激”設定為“成熟/暗示性主題”在iTunes Connect。合理勾選評級

七.啟動頁報錯
啟動頁圖出錯
這個時候需要先檢查圖片尺寸是否正確,接著清空 Launch Screen File ,上面 Launch Image Sourc裡 不再選擇Brand Assets.
注意: 當未設定default頁,啟動畫面為黑屏,也有一定概率被拒絕。

八. 瀏覽網頁
瀏覽網頁,必須使用iOS WebKit框架和WebKit JavaScript

九. 技術支援地址
不要寫微博這種地址
原因是:不能將需要登陸才能訪問的網址作為技術支援地址。
技術支援網址打不開
原因:蘋果打不開,郵件Service Unavailable. HTTP Error 503. The service is unavailable.

十. 關於對js互動問題
現在對js互動稽核比較嚴,雖然沒有明確提出,但是遇到就給你發開發者協議2.5.2和3.3.2
建議:儘量不要有 h5互動, JavaScriptCore.framework這個庫儘量刪掉

十一. 關於ipv6問題
目前協議上並未強制要求使用 ipv6, https如果目前暫未使用, 就需要把一些第三方的使用全部更新到能支援 ipv6的版本.
一般像有友盟和第三方解析圖片的框架SDWebImage這塊使用的話一定要更新到支援ipv6的版本.
建議:還是儘快使用 ipv6,畢竟後面還是躲不過的, 需要後臺配置證書了.

十二. 專案無iPad 適配問題(2.4效能:硬體相容性)
一般我們 APP 僅僅支援 iPhone, 並未適配 iPad, 這個時候被拒,即使我們發郵件告知並不支援 iPad 也沒用, 聽我蘋果還是會回覆郵件: 對於2.4.1問題,請注意,即使你的應用程式是專門為iPhone使用者仍然可以使用您的應用程式在iPad上.
建議:
針對蘋果截圖發來的介面 適配即可.

十三. 專案無註冊問題(2.1效能:應用程式完整性)
蘋果那邊會發來郵件通知, 根據2.1效能:應用程式完整性, 提出產品缺陷不完整問題.
此外,請提供下列問題的資料,供我們繼續進行審查:
-誰是你的應用程式的目標受眾?
-這個應用程式只針對一家公司的內部員工嗎?如果是的話,公司的名稱是什麼?
-使用者如何接收使用者名稱/密碼?
建議:回覆郵件, 也其實可以在上傳稽核時就在備註裡新增:
1.誰是你的應用程式的目標受眾?
————(回答你們的目標受眾)
2.這個應用程式只針對一家公司的內部員工嗎?如果是的話,公司的名稱是什麼?
————不是
3.使用者如何接收使用者名稱/密碼?
————通過郵件方式
4.該APP無外鏈,採資料

十四. 專案原本沒問題但是蘋果拒了,可以新增視訊操作網址
其實我們引導頁沒有明確的點選進入按鈕, 但是我們又全屏的手勢點選進入 APP, 但是蘋果稽核並不值得,很奇葩的拒了!
郵件上說:2.1效能:應用程式完整性, 我們發現你的應用程式的一個或多個錯誤,當回顧在 iPhone執行 iOS 10.3.3WiFi連線到IPV6網路上. 具體來說, 你的應用程式在最初的螢幕啟動後沒有采取任何行動,我們無法繼續,無法繼續.
建議:新增視訊操作網址連結
回覆郵件: 告知這個 APP 是在引導頁後直接全屏點選 手勢點選進入 APP 的. 是可以螢幕任意地方點選進入的. 並且讓後臺上傳視訊操作, 然後郵件新增網址連結即可.

十五. App90174問題, 缺配置檔案或者設定問題.
ERROR ITMS-90174: “Missing Provisioning Profile - Apps must contain a provisioning profile in a file named embedded.mobileprovision.”
解決方案:
檢視證書是否過期, 在keychains裡選擇login,然後點選Certificates,在這個介面,選擇工具欄的View -> Show Expired Certificates,刪除過期的“WWDR Certificate”(Apple Worldwide Developer Relations Certification Authority); 在System的那一欄也要刪除過期的“WWDR Certificate”。不出意外你的證書那裡從 “This certificate has an invalid issuer”(此證書的簽發者無效)變成了 “This certificate is valid”了.
新建釋出證書ios_distribution.cer和描述檔案Distribution.mobileprovision,準備好這兩個檔案後就到Xcode選取設定.
如果還是不行的話, 就去這個路徑下把所有描述檔案全刪了
~/Library/MobileDevice/Provisioning Profiles, 然後重啟xcode再重新裝描述檔案應該就能解決了.

十六.u選項必須具有非空值。 The u option must have a non-empty value.
今天更新迭代上傳APP時用application loader上傳到AppStore上去,打包之後上傳的時候報錯,用的是Xcode9.0,如下:
1.the u option must have a non-empty value
2.the password must have a non-empty value
解決方案:
1.去iTunes connect更新application loader的dmg
2.更新Xcode9.0升級到9.1的版本,9.1附帶的application loader是鐵定是新版本的

已經總結的很好了,在這裡說一下轉載連結。祝大家的app都能成功上線。
轉載連結:https://www.jianshu.com/p/7f2ba34de4d8