2017.11.23html
一. 背景
因爲本期產品需求中有一個保存人員信息到通信錄的功能,由於這部分 iOS 8 使用到<AddressBook/AddressBook.h>
庫已經不維護了,iOS9+ 須要<Contacts/Contacts.h>
庫,所以若是須要繼續適配 iOS8 的話,就要寫對應的兩套代碼,查看了數據統計以後發現咱們目前沒有 iOS8 的用戶,就不想感動本身繼續適配 iOS8,所以總結了一下信息向leader申請幹掉 iOS8ios
二. 總結內容以下
######1. 蘋果官方於今年6月份的 WWDC 上推出了 iOS11 系統,當時統計的各系統的數據佔好比下:程序員
- iOS10 系統佔比 89%
- iOS9 系統佔比 9%
- 其餘系統佔比 2%
目前 iOS8 系統最多佔比 2%,並且針對咱們產品的目標人羣:辦公人士的低版本系統佔比會更低api
數據來源:https://developer.apple.com/support/app-store/瀏覽器
最新的只顯示 iOS11和 iOS10了微信
2. 砍掉 iOS8 的好處
能夠直接使用最低版本爲 iOS9 的api,不須要一些額外的適配工做,提升項目穩定性,代碼也會更加簡潔app
- 好比有些場景使用
UIStackView
,不須要進行額外的佈局適配
- 加強的UIKit動力學,如用於非矩形碰撞邊界檢測等
- 新增NSDataAsset類,使得更加方便獲取定製設備的內存和圖形處理能力
- 全部標準的UIKit控件翻轉,可以支持從右到左的語言。此外,導航,手勢,Collection View和TableViewCell的佈局也適當地翻轉
- MapKit框架對功能進行了一些補充,好比支持查詢公交的預計到達時間和公交路線、地圖視圖支持了3D天橋模式、註釋能夠徹底定製
PassKit
框架在Apple Pay
支持Discover cards
、借記卡和信用卡。
SFSafariViewController
能夠用來顯示你的應用程序中的網頁內容。它和safari共享Cookie和其餘網站數據,並有許多的Safari瀏覽器的強大功能,如Safari自動填充和Safari閱讀器。與Safari瀏覽器自己相比,SFSafariViewController UI是一個單一的Web頁面,有一個完成按鈕可使用戶回到應用程序中。
- 若是您的應用程序顯示的網頁內容,但不自定義內容,能夠考慮更換WKWebView或UIWebView爲
SFSafariViewController
。
HealthKitFramework
對跟蹤生殖健康和紫外線照射的等新領域的支持。
- 使用
AVPictureInPictureController
和AVPlayerViewController
類,實現Picture in Picture功能。
FoundationFramework
中 Strings文件的上下文相關的可變寬度的字符串支持。
- 對於 iPad,能夠更方便地使用分屏多任務特性,如畫中畫視頻播放等
- 另一些擴展也新增了一些特性 更多詳細 iOS9 新特性點擊這裏-官網說明
2. 能夠在這裏貼一下當前產品的統計數據,月活的 iOS8 用戶佔比,確定不多
3. 如下爲不一樣型號手機支持的最高系統版本:
- iPhone 4 最高支持7.1.2
- iPhone 4s 最高支持9.3.5
- iPhone 5 最高支持10.3.3
- iPhone 5c 最高支持10.3.3
- iPhone 5s及以上都支持到 11.0
4. 如下爲不一樣型號手機支持的最低系統版本:
- iPhone 5 最低支持 6.0
- iPhone 5c 最低支持 7.0
- iPhone 5s 最低支持 7.0
- iPhone 6 最低支持 8.0
- iPhone 6s 最低支持 9.0
- iPhone SE 最低支持 9.3
- iPhone 7 最低支持 10.0
- iPhone 8 及以上最低支持 11.0
5. 主要競品的最低適配版本:
- 釘釘 7.0 (釘釘的部門目標用戶是餐飲等傳統行業,用戶 iPhone 系統版本應該會略低於普通互聯網公司)
- Slack 9.0 (Slack 創始團隊就是一幫程序員,主要目標用戶也是互聯網小團隊,適配版本高於其餘通常 App 也是理所應當)
- BearyChat 9.0(BearyChat的模式大部分與 Slack 相似,至關於國內的 Slack)
- 企業微信 8.0
- 美團大象 8.0
- 紛享銷客 8
按照以往的經驗,通常的App 都是保持適配三個最新的系統版本(好比微信、淘寶、美團等是在去年年底拋棄了iOS7.0,注:去年推出了iOS10)框架
砍掉以後,iOS8 新老用戶在appStore 只能搜索到支持 iOS8的最高版本,佈局
6. 注意事項
- 檢查一下提醒升級及強制升級的相關參數,好比下版本不支持 iOS8 用戶了,那麼對於 iOS8 用戶的升級提醒要屏蔽掉,並提早和 BS 同窗確認相關問題
- 對於可預見的接口需求上的改動、提早作好老版本的適配工做,即便某些功能不能正常使用也要作相應的屏蔽或者 PlaceHolder
- 幹掉 一個老版本 以後,能夠查看下對應的警告,把該版本專門的適配代碼也相應幹掉;有些被棄用的api或枚舉值也會報警告,最好進行相應更新
7. 去年今日:得知是最後一版適配 iOS8 的時候,高興的像個三百斤的胖子
參考: iOS9新特性-官方說明 iOS系統-官網統計網站