老鐵,是時候幹掉 iOS8 了!

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對跟蹤生殖健康和紫外線照射的等新領域的支持。
  • 使用AVPictureInPictureControllerAVPlayerViewController類,實現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 的時候,高興的像個三百斤的胖子

iOS7 適配比 iOS8 逆天多了

參考: iOS9新特性-官方說明 iOS系統-官網統計網站

相關文章
相關標籤/搜索