POST TIME:2018-12-03 17:54
做iOS開發(fā)近 5 年了,每次提交版本時不成謂不不寒而栗,如履薄冰,但是還是不免踩到了一些坑。蘋果的官方文檔(AppStore審核條款)這里就不羅列了,太冗長繁瑣了,并且大部分是一般app都不會觸碰的到的,今天我主要想以本身的親身經(jīng)歷,跟大家回顧一下這些年我提交AppStore審核時踩過的坑,而且針對如何制止給出一些tips供大家參考。大神請忽略,專家請輕拍。
1、未遵守蘋果iOS APP數(shù)據(jù)儲存指導(dǎo)方針。
如果你的App有離線數(shù)據(jù)下載功能,尤其需要關(guān)注這一點。因為離線數(shù)據(jù)一般占用存儲空間比較大,可以被重新下載和重建,但是用戶往往希望系統(tǒng)存儲空間緊時也依然能夠妥妥的存在著,不會被IOS系統(tǒng)自動清理掉。所以不能放在/Library/Caches 目錄下(該目錄在系統(tǒng)空間緊張時可能會被iOS系統(tǒng)清除)。 那就只能放在主目錄/Documents 或 主目錄/Library/自定義文件夾下,這樣才不會被iOS系統(tǒng)自動清理掉。但是這些數(shù)據(jù)可能會很大,如果放在 主目錄/Documents 或 主目錄/Library/自定義的文件夾下,會被iCoud自動同步,那么用戶需要為了同步消耗不少流量,蘋果可能會因此拒絕你的應(yīng)用上架。所以需要在程序中給自定義的目錄設(shè)置“do not backup”屬性。
關(guān)于數(shù)據(jù)存儲需要注意的點,總結(jié)不才面:
關(guān)鍵數(shù)據(jù)
內(nèi)容:用戶創(chuàng)建的數(shù)據(jù)文件,無法在刪除后自動重新創(chuàng)建
路徑:主目錄/Documents
辦理:iOS系統(tǒng)即時遇到存儲空間不足的情況下,也不會清除,同時會備份到iTunes或iCloud中
緩存數(shù)據(jù)
內(nèi)容:可用于離線環(huán)境,可被重復(fù)下載重復(fù)生成,即使在離線時缺失,應(yīng)用自己也可以正常運行
路徑:主目錄/Library/Caches
辦理:在存儲空間不足的情況下,會清空, 而且不會被自動備份到iTunes和iCloud中
臨時數(shù)據(jù)
內(nèi)容:應(yīng)用運行時,為完成某個內(nèi)部操作臨時生成的文件
路徑:主目錄/tmp
辦理:隨時可能被iOS系統(tǒng)清除,且不會自動備份到iTunes和iCloud,盡量在文件不再使用時,應(yīng)用本身清空,制止對用戶設(shè)備空間的浪費
離線數(shù)據(jù)
內(nèi)容:與緩存數(shù)據(jù)類似,可以被重新下載和重建,但是用戶往往希望這些數(shù)據(jù)即使在存儲緊張時也不會被系統(tǒng)自動刪除
目錄:主目錄/Documents 或 主目錄/Library/自定義的文件夾
辦理:與關(guān)鍵數(shù)據(jù)類似,即使在存儲空間不足的情況下也不會被清除,應(yīng)用本身應(yīng)該清除已經(jīng)不再使用的文件,以免浪費用戶設(shè)備空間 。需要設(shè)置”不備份到iCoud" ,不然會審核不過。
2、未提供測試賬號如果你的App有部分功能需要登錄才能使用,那么你需要再提交審核時,勾選演示賬戶,并提供對應(yīng)信息,如下圖:
測試賬號填寫
現(xiàn)在很多app為了更便利快捷,防止用戶忘記密碼,都采用手機號+驗證碼的方式,這樣的話就沒有措施給蘋果提供演示賬戶了,除非賬戶系統(tǒng)后臺做修改提供支持。這種情況,就不需要勾選演示賬戶了,但是要在備注信息里跟蘋果好好解釋一下,說我們也是為了提升用戶體驗的,所以對賬戶系統(tǒng)做了改進,用戶有手機就能登錄,不需要注冊啥的,如下圖。如果你啥也不說的話,那就乖乖等著被拒吧。
測試賬號說明
3、跟相關(guān)硬件配合使用的app,未提供演示視頻這里指的硬件是不需要MFi認(rèn)證的,通過BLE(低功耗藍牙)或者WiFi連接的硬件。直接在備注里提供相關(guān)功能的演示視頻即可,如下圖。
硬件連接演示視頻