1.整個系統(tǒng)介紹

     iOS現(xiàn)在的新版本iOS5是10月12號推出,當(dāng)前版本是4.3.5

  先是硬件部分,采用iOS系統(tǒng)的是iPad,iPhone,iTouch這三種設(shè)備,其中iPhone和iTouch的系統(tǒng)基本一致,iPad區(qū)別的地方主要是分辨率尺寸上的區(qū)分

  接著軟件部分,是常說的os部分,現(xiàn)在常見的系統(tǒng)是4.2.1/4.3.3/4.3.5/5.0.0/5.0.1,其中4.3.3以上的版本iPad版本支持手勢,5.0.0以上版本支持通知欄和icloud,其中5.0.0和4.x相差較多,apple號稱的修改點有200多

  第三對于各個app來說,每個app都有一些固定信息,app的id(區(qū)分app的標識),顯示的名稱(包括app安裝后顯示名和在appstore上的顯示名),支持的iOS版本(低支持的os版本,一般是支持iOS4.0以上,但是對于不同的app因為應(yīng)用到了不同的系統(tǒng)功能,故要求的iOS版本也會不同,以后要求iOS5.0版本的app也會多起來的)

  2.安裝

  1)官方的安裝方式

  可以PC/MAC機上下載好,然后用itunes同步到機器上,或者直接在機器上到appstore上下載到本機然后下載,這是普通和官方的安裝方式,但是只能使用已經(jīng)在appstore上線的app,對于測試的版本基本無意義

  2)越獄

  越獄/破解,現(xiàn)在4.3.3版本有完美破解,以上的版本只有不完美破解,以后可能會有完美方式(注,不完美破解是不能重啟機器),越獄之后的機器可以不受限制的裝各種app到機器上,對于測試版本來說比較方便

  3)開發(fā)機模式

  開發(fā)機模式是一個俗稱,正式名字其實我也不是很清楚,大家明白即可,一個apple的發(fā)布者賬戶,可以支持100臺設(shè)備,即可以生成100個不同SN串號的證書安裝到機器上,這樣發(fā)布者賬戶編譯出來的版本可以安裝到對應(yīng)的開發(fā)機上,證書可以在設(shè)置通用描述文件中找到,當(dāng)然apple的發(fā)布者賬戶還有其他兩種類型:企業(yè)賬戶和學(xué)生用賬戶,這2個賬戶是不能將app發(fā)布到appstore的,這里不具體說明了

  4)OTA模式

  OTA不是一個新鮮的東西,以前很多的手機軟件都是如此安裝,可以直接從機器上訪問安裝地址安裝,為方便,前提是機器是破解的或者已安裝開發(fā)者證書,移動這邊現(xiàn)在基本上正在開發(fā)的項目都是有這樣的安裝方式,簡化安裝步驟

  以上是一些不同的安裝方式,其他還有91助手/同步助手等第三方工具安裝,但是這些只是一些輔助方式區(qū)別,app能否安裝取決于apple賬戶有沒有購買過此app和此機器上有沒有對應(yīng)apple賬戶登錄,購買可以認為是一種添加證書許可動作,開發(fā)者證書也是一種,而越獄則是繞過了證書驗證

  3.兼容性

  1)硬件兼容性

  三種設(shè)備中iPhone和iTouch設(shè)備基本一致,iPad因為分辨率和尺寸上不同,一般的客戶端都會分開開發(fā),如果是全兼容的app,那么需要兼顧測試,而全兼容性的app需要多考慮的是怎樣在pad和phone的屏幕上設(shè)計一個兼顧型的展現(xiàn),不過這是交互和視覺設(shè)計師需要考慮的地方

  回到分開開發(fā)的模式中,iPhone和iTouch可以認為是同一種設(shè)備,差異很小,主要的差異也是在來電和短信中斷方面,另一個要注意的是iPad可以安裝只適用iPhone/iTouch的app,以兼容模式顯示,此時基本上可以認為是在一個iTouch上運行此app

  同一類設(shè)備不同機型的兼容性,一共是iPhone有5代,iPad有2代,iTouch有4代,機器之間的差異對于app來說主要是內(nèi)存和CPU的性能和打完包后的大小以及分辨率的適配,iPhone4和iTouch4及以上是用640*960分辨率,以下是低分辨率機器,4代之前之后的CPU用的不同,所以編譯版本時要兼容2種CPU,而iPad只有一種分辨率和一種CPU,所以不用考慮太多,同一個app的iPhone版本往往比iPad版本的安裝包文件要大,基本上是CPU和分辨率這2種原因

  硬件兼容性來說,基本上iPhone的客戶端要測2個機器(3代和4代各一,iPhone和iTouch隨意),iPad客戶端沒有要求

  2)系統(tǒng)兼容性

  前面也說了,常見的系統(tǒng)是4.2.1/4.3.3/4.3.5/5.0.0/5.0.1,有條件是盡量測試,但是因為iOS版本只能往上升級,要降級需要越獄和保存SHSH,所以一般盡量保證4.3.3/4.3.5或者5.0.0/5.0.1的版本,4.x和5.x的版本據(jù)apple列了200多點,其中還有各種不確切的問題,所以一定需要測試,4.2.1版本是因為iPhone和iTouch2代只能升級到此os版本,用戶量很少,而iPad的用戶也只有早期且不升級的才有此os,國內(nèi)用戶量很少

  按照apple的以往做法,支持低版本的iOS的app,都可以在高版本上正常運行,系統(tǒng)級別上向下兼容,但是也有不少例外,特別是一些自定義的控件,直接使用系統(tǒng)提供的控件一般不會有問題

  系統(tǒng)方面的兼容性除了要保證功能正確以外,還要考慮一些新os上才支持的功能,在老os上的表現(xiàn),而apple現(xiàn)在還在不停的更新os,故要提前保證新的beta版本os的兼容狀況

  3)其他軟件兼容性

  其實也沒有什么其他軟件,iOS系統(tǒng)中允許app調(diào)用的也只有通訊錄照片瀏覽器等系統(tǒng)自帶的軟件,也有內(nèi)嵌和重新打開界面這2種狀態(tài),而重開界面時系統(tǒng)會將當(dāng)前軟件保留,所以一般不會有界面方面的問題

  4.用戶體驗

  功能方面因為各個app都是不同的,所以不展開了,簡單的介紹下一些用戶體驗需要注意的地方:

  滑動拖動翻頁等動畫效果

  各個頁面的旋轉(zhuǎn)屏幕,特別是iPad的客戶端

  多點觸摸手勢,各種手勢定義下的效果展示,以及iOS中盡量不要出現(xiàn)長按菜單的功能,這是android上的默認效果,iOS上長按大多是進入一個特別的狀態(tài)

  按鈕意義要明顯,如果使用了過多的文字說明,不是個好主意

  5.性能

  前文有介紹各種機器,因為新機器的性能往往是好的,所以我的觀點是測試用差點的機器吧 =.=

  iOS的內(nèi)存管理是優(yōu)先保證當(dāng)前,有多少用多少,超過上限不夠用直接關(guān)閉app,也是常說的crash,自動退出,所以內(nèi)存回收方面需要注意,也可以在開發(fā)機上直接監(jiān)控內(nèi)存使用量,不過內(nèi)存監(jiān)控只能看到整個app的使用量,看不到具體模塊的使用,而os4.0以上每個關(guān)掉的app系統(tǒng)會自動保存一個小鏡像,當(dāng)內(nèi)存不夠用的時候會連此鏡像都關(guān)閉,這是有時候開啟app能看到關(guān)閉前的界面有些只能看到loading頁面的原因,特別是游戲類的app會有這樣的現(xiàn)象,另外,越獄的機器的可用內(nèi)存會大約小不少

  CPU部分簡單了,iOS的機制保證了CPU占用量很高的情況很少出現(xiàn),一般多數(shù)據(jù)多線程時會有卡和停頓的狀況是CPU不夠用了,這也只能靠設(shè)計上來避免了

  網(wǎng)絡(luò)部分,主要是2g/3g/wifi的速度,但是這個性能指標要根據(jù)不同的情況來考慮,一般來說對比同類app的效果即可

  6.webapp

  現(xiàn)在杭研有不少webapp類的項目在進行,因為我只是簡單的看了下,隨便說下我的理解,大家有問題盡管提

  webapp的優(yōu)點是開發(fā)迅速和維護簡單,大部分功能是用html5來完成的,所以客戶端的開發(fā)工作比較少,而且大部分功能的維護修改也只要在前端修改html代碼即可,不用升級客戶端版本,可以節(jié)約很多不同客戶端兼容覆蓋安裝等工作

  缺點也比較明顯,功能上還是做不到和客戶端一樣的效果,使用時需要較多的網(wǎng)絡(luò)流量,需要有不少工作需要前端來完成

  個人覺得比較類似flash網(wǎng)頁游戲和客戶端類游戲的樣子,facebook據(jù)說客戶端都是采用此類方式開發(fā),他們有一個強大的mobile web庫,對于測試來說,即使是webapp,依然要向客戶端類的體驗靠攏

  PS 很早開始寫,結(jié)果這樣那樣的原因才完成...

  PS2 iOS近也在更新,特別是5.0新上線,更新的東西肯定會比較多,并且也在不停的吸收一些設(shè)計和功能,需要跟進腳步

  PS3 基本上簡單的寫了一些基礎(chǔ)方面的東西,來源是早給幾個同事簡單講解ios的介紹,因為當(dāng)時也沒準備什么,所以可能還是寫成文章清楚點

  PSP 有啥問題歡迎popo評論等各種方式交流

  XBOX 歡迎大家使用iOS設(shè)備,好能越獄,能幫我們做內(nèi)測好了,設(shè)備實在是很少啊