周二晚間來第三發(fā),搞得好像今天是周六的趕腳。發(fā)掉之后再獎勵自己一點冰啤酒吧,然后撲床去。天氣熱起來了,各位注意防暑降溫唄。走起。
重要:這是針對于正在開發(fā)中的API或技術的預備文檔(預發(fā)布版本)。雖然該文檔在技術精確度上經過了嚴格的審核,但并非最終版本,僅供蘋果開發(fā)者計劃的注冊會員使用。蘋果提供這份機要文檔的目的,是幫助你按照文中描述的方式對技術的選擇及界面的設計開發(fā)進行規(guī)劃。這些信息有可能發(fā)生變化,屆時,你的設計開發(fā)方式需要基于最終版本的操作系統(tǒng)及文檔進行相應的調整和測試。該文檔或許會隨著API或相關技術在未來的發(fā)展而進行更新。
譯文最后更新時間:2013-06-18
即刻啟動
一般情況下,用戶可以在一到兩分鐘內對一款應用做出評估。如果你能利用這段時間迅速地呈現(xiàn)最有用的內容,就能充分激發(fā)新用戶的興趣,并且給所有用戶帶來出眾的體驗。
重要:絕不要在用戶安裝好你的應用之后告訴他們需要重啟設備。重啟需要花費時間,而且會讓你的應用看起來非常難用且不可信賴。
如果出于內存使用或其他方面原因,使你的應用確實只有在設備重啟之后才能正常工作,那么你需要首先解決這類問題。請參考iOS應用開發(fā)指南中的“高效地使用內存”。
盡可能地避免使用無意義的啟動畫面(歡迎畫面)或其他類似的啟動體驗。最好讓用戶在啟動你的應用之后可以立刻開始使用。
推薦的模式(左圖)與不推薦的模式(右圖)
應用安裝完成后,不要讓用戶必須進行設置才能使用。取而代之地:
- 將解決方案聚焦在80%的用戶需求上。這樣,多數(shù)用戶不需要進行任何設置就可以開始使用,因為默認參數(shù)可以確保應用能夠按照這部分用戶所期望的那樣進行工作。
- 盡可能地從其他來源獲取信息。如果用戶在iOS內置應用或系統(tǒng)設置當中輸入的信息可以為你所用,那么就盡量向系統(tǒng)查詢這些信息,不要再讓用戶輸入一遍了。
- 如果確實需要用戶進行安裝設置,盡量讓他們在你的應用內部進行輸入。然后,盡快儲存這些信息(例如在應用的設置項當中)。這樣,用戶在享受你的應用之前就不需要被迫切換到iOS的設置當中了。如果他們將來需要修改這些信息,可以在任何時候進入應用設置當中進行操作。
盡可能晚些讓用戶登錄。比較理想的狀況是,讓用戶在不登錄的情況下也能在應用當中盡量多的瀏覽內容,并使用部分功能。如果在用戶上手你的產品之前就強迫他們登錄,則會導致啟動流程變得累贅拖沓。
一般來說,要按照默認的屏幕定向方式啟動應用。對于iPhone,豎屏是默認的定向方式,而對于iPad來說,設備當前所處的狀態(tài)就是其默認定向方式。如果你的應用只能在橫屏模式下運行,那么要始終以橫屏狀態(tài)啟動,讓用戶在必要的時候自己調轉設備的方向。
最好讓橫屏應用能夠同時支持兩種模式的橫屏,也就是Home按鍵分別在左側和右側的狀況。如果設備當前已經處于橫屏狀態(tài),那么橫屏應用就應該按照當前的定向方式加載,除非你有充分的理由不這樣做。在其他情況下,可以按照Home按鍵在右側的方式加載橫屏應用。
可以提供一張與應用首屏看上去幾乎一致的啟動圖片,iOS會在應用被打開的同時即刻展現(xiàn)這張圖片,這可以讓用戶覺得你的應用加載起來非?,降低對等待時間的感知,使真正的內容有相對充裕的時間可以進行加載。可以參考啟動圖片了解相關的實現(xiàn)方法。
如果可能,不要讓用戶在初次加載應用時閱讀免責聲明或必須對用戶協(xié)議進行確認。你可以直接在App Store當中展示這些內容,使人們在下載應用之前就能有所了解;不過,雖然這種方式通常能最大限度的減少麻煩的產生,但也不是一直可行的。如果在某些情況下你必須在應用內提供這類內容,那么要確保這些內容與整體UI保持和諧統(tǒng)一,與產品實際的業(yè)務功能帶來的用戶體驗達成平衡。
在應用重啟后,要恢復到用戶退出時的狀態(tài),讓他們可以中斷的地方繼續(xù)使用。不要讓用戶必須記住之前是通過怎樣的步驟到達退出時的狀態(tài)的?梢詤⒖紶顟B(tài)的維持與重置來了解相關的實現(xiàn)方法。
時刻準備著退出
iOS應用永遠不會有用來執(zhí)行關閉或退出的操作。用戶退出一個應用的方式就是切換到另外一個應用、回到系統(tǒng)主界面,或是使設備進入睡眠模式。
當人們從你的應用切換到其他地方,iOS的多任務機制就會將它轉至背景當中,并使用其他應用的UI替換掉當前的。為了應對這種情況,你的應用應該具備以下能力:
- 及時地、盡可能頻繁地保存用戶數(shù)據(jù),因為處于背景狀態(tài)的應用隨時都可能被終結。
- 退出時,盡可能在細節(jié)層面保存當前狀態(tài),使用戶回到你的應用之后不會失去之前的上下文狀態(tài)。例如,如果你的應用包含可滾動的數(shù)據(jù)列表,那么在退出時要保存當前的列表位置。
有些應用即使處于背景狀態(tài)也需要保持工作,譬如,用戶會希望在查看待辦事項或玩游戲時讓另外一款應用繼續(xù)播放音樂?梢詤⒖级嗳蝿諄砹私庠鯓诱_而優(yōu)雅的處理這種情況。
永遠不要以程序化的方式自動退出iOS應用,因為用戶有可能將這種情況誤解為程序崩潰。如果出于某些原因,你的應用無法按照預期正常的工作,你需要告訴用戶當前的狀態(tài),并讓他們了解自己能夠做些什么。取決于問題的嚴重性,你有兩種選擇:
- 通過一個能夠吸引用戶注意力的界面描述當前問題,并提出執(zhí)行建議。使用這樣的界面作為反饋,可以讓用戶了解到應用本身并沒有出現(xiàn)問題。這樣還可以將主動權交還給用戶,讓他們決定執(zhí)行矯正性的行為并繼續(xù)使用應用,或是切換到其他應用。
- 如果只有一部分功能不可用了,那么可以在用戶用到這些功能的時候,通過一個單獨的界面或是彈出提示(alert)來告訴他們當前的情況。只在用戶所訪問的功能確實無法工作的時候再使用彈出提示。