你的App 真正適配了iOS 9嗎?

2020-12-25 雷鋒網

【編者按】本文作者馮義力,騰訊 Bugly SDK 開發工程師。近期 Bugly 支持 ATS 及 Bitcode 特性的 SDK 即將發布。

Apple秋季產品發布會剛剛結束,iOS 9 GM版本也正式發布了。新的iPhone設備即將開售,iOS 9系統升級也將會在下周開始陸續進行推送。

在這之前,我們還可以為自己的App兼容適配做點什麼,或者說,我們的App真的已經兼容適配好iOS 9系統了嗎?

從7月份開始到現在,Apple已發布5個iOS 9的Beta版本,相信開發者在這段時間也已經把iOS 9系統的特性基本了解清楚,也為自己的App進行了一系列兼容適配處理。

但在這裡,筆者還是要再次跟大家聊聊iOS 9中兩個比較特別的特性及其兼容問題,即:App Transport Security和App Thinning。

App Transport Security

App Transport Security is a feature that improves the security of connections between an app and web services. The feature consists of default connection requirements that conform to best practices for secure connections.

App Transport Security(ATS)是Apple為提高系統及應用安全性而在iOS 9和OS X EI Capitan中引入的新特性,必然,出於安全性的考慮,在新發布的watchOS 2系統中也會適用。

一旦開啟ATS後,應用所有的網絡請求將會自動轉換為HTPPS傳輸,且採用一系列配置要求來保證數據傳輸的安全性,包括:

· Transport Layer Security協議版本要求TLS1.2以上

· 服務的Ciphers配置要求支持Forward Secrecy等

· 證書籤名算法符合ATS要求等

這些配置項在升級伺服器支持HTTPS過程中都需要嚴格遵守的,否則就會導致你的HTTPS服務在iOS 9系統中連接仍是失效的。

如果你的App的服務也在升級以適配ATS要求,可以使用如下的方式進行校驗:

在OS X EI Capitan系統的終端中通過nscurl命令來診斷檢查你的HTTPS服務配置是否滿足Apple的ATS要求:$ nscurl --verbose --ats-diagnostics https://<your_server_domain>

當然,你也可以參考Apple提供官方指南App Transport Security Technote進行服務的升級配置以滿足ATS的要求。

Apple雖然希望開發者可以積極的參與並為系統及應用安全共同努力,但官方仍提供了一些參考配置去禁用ATS功能或降低ATS的安全性要求。

開發者可以在App的Info.plist中添加NSAppTransportSecurity的相關配置,用以禁用ATS或者添加白名單,可用的配置參數如下:

· NSAllowsArbitraryLoads - 設置true即支持所有HTTP請求

· NSExceptionDomains - 添加白名單

· NSExceptionMinimumTLSVersion - 白名單指定域名支持的TLS版本

· NSExceptionRequiresForwardSecrecy - 白名單指定域名是否支持Forward Secrecy

· NSExceptionAllowsInsecureHTTPLoads - 白名單指定域名禁用ATS

· NSThirdPartyExceptionMinimumTLSVersion - 白名單指定第三方服務域名最低支持的TLS版本

· NSThirdPartyExceptionRequiresForwardSecrecy - 白名單指定第三方服務域名是否支持Forward Secrecy

· NSThirdPartyExceptionAllowsInsecureHTTPLoads - 白名單指定第三方域名禁用ATS

舉個例子:

禁用所有連接使用ATS

在Info.plist中配置禁用ATS:

  

 指定域名禁用ATS

在Info.plist中配置App的服務域名mine.test.com支持HTTP:

 

指定域名修改ATS安全要求

在Info.plist中配置第三方服務third.test.com的TLS1.1及禁用Forward Secrecy:

 

App Thinning

The App Store and operating system optimize the installation of iOS and watchOS apps by tailoring app delivery to the capabilities of the user’s particular device, with minimal footprint. This optimization, called app thinning, lets you create apps that use the most device features, occupy minimum disk space, and accommodate future updates that can be applied by Apple. Faster downloads and more space for other apps and content provides a better user experience.

開發者都知道,當前iOS App的編譯打包方式是把適配兼容多個設備的執行文件及資源文件合併一個文件,上傳和下載的文件則包含了所有的這些文件,導致佔用較多的存儲空間。

App Thinning是一個關於節省iOS設備存儲空間的功能,它可以讓iOS設備在安裝、更新及運行App等場景中僅下載所需的資源,減少App的佔用空間,從而節省設備的存儲空間。

根據Apple官方文檔的介紹,App Thinning主要有三個機制:

Slicing

開發者把App安裝包上傳到AppStore後,Apple服務會自動對安裝包切割為不同的應用變體(App variant),當用戶下載安裝包時,系統會根據設備型號下載安裝對應的單個應用變體。

On-Demand Resources

ORD(隨需資源)是指開發者對資源添加標籤上傳後,系統會根據App運行的情況,動態下載並加載所需資源,而在存儲空間不足時,自動刪除這類資源。

Bitcode

開啟Bitcode編譯後,可以使得開發者上傳App時只需上傳Intermediate Representation(中間件),而非最終的可執行二進位文件。 在用戶下載App之前,AppStore會自動編譯中間件,產生設備所需的執行文件供用戶下載安裝。

其中,Bitcode的機制可以支持動態的進行App Slicing,而對於Apple未來進行硬體升級的措施,此機制可以保證在開發者不重新發布版本的情況下而兼容新的設備。

如果你的應用也準備啟用Bitcode編譯機制,就需要注意以下幾點:

· Xcode 7默認開啟Bitcode,如果應用開啟Bitcode,那麼其集成的其他第三方庫也需要是Bitcode編譯的包才能真正進行Bitcode編譯


· 開啟Bitcode編譯後,編譯產生的.app體積會變大(中間代碼,不是用戶下載的包),且.dSYM文件不能用來崩潰日誌的符號化(用戶下載的包是Apple服務重新編譯產生的,有產生新的符號文件)


· 通過Archive方式上傳AppStore的包,可以在Xcode的Organizer工具中下載對應安裝包的新的符號文件

iOS 9的ATS特性和App Thinning特性給開發者帶來安全提升和體驗上的優化,也是開發者在後續App的兼容適配方便會考慮的事項。

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • ios內購無限充值遊戲大全 無限內購永久免費app
    ios內購無限充值遊戲大全 無限內購永久免費app 來源:www.18183.com作者:wer時間:2020-12-03 ios內購無限充值遊戲大全,無限內購永久免費app
  • ios破解版變態手遊app 蘋果破解版手遊排行榜
    ios破解版變態手遊app 蘋果破解版手遊排行榜 來源:www.18183.com作者:wer時間:2020-11-13 ios破解版變態手遊app.蘋果破解版手遊排行榜.有了手遊盒子破解版
  • 折扣最大的手遊平臺ios 蘋果版折扣手遊app大全
    折扣最大的手遊平臺ios 蘋果版折扣手遊app大全 來源:www.18183.com作者:wer時間:2020-11-17 折扣最大的手遊平臺ios,蘋果版折扣手遊app大全
  • bt遊戲安卓版破解app bt遊戲破解版ios大全
    bt遊戲安卓版破解app bt遊戲破解版ios大全.有了手遊盒子破解版,大家就可以在這些遊戲盒子裡找破解版手機小遊戲了,手遊盒子破解版不僅僅只有破解版遊戲,還有很多在瀏覽器已經找不到的遊戲,想玩好玩且人又不多的遊戲,有需求的小夥伴快來下載吧
  • 蘋果bt版遊戲app下載 bt版遊戲ios最新排行榜
    蘋果bt版遊戲app下載,bt版遊戲ios最新排行榜.精選各種滿級vip的手遊,有了這些盒子,找遊戲再也不難了,不僅僅擁有海量遊戲資源,還有各種福利道具,喜歡這種遊戲的玩家千萬不要錯過,快來下載吧!
  • 變態遊戲盒子大全ios 變態遊戲盒子ios哪個好
    變態遊戲盒子大全ios 變態遊戲盒子ios哪個好 來源:www.18183.com作者:wer時間:2020-09-27 變態遊戲盒子大全ios,變態遊戲盒子ios哪個好。
  • 十大熱門變態遊戲盒ios 人氣最高變態手遊盒子ios
    十大熱門變態遊戲盒ios 人氣最高變態手遊盒子ios 來源:www.18183.com作者:wer時間:2020-11-11 十大熱門變態遊戲盒ios,人氣最高變態手遊盒子ios
  • ios破解遊戲助手
    ios破解遊戲助手哪個好?今天18183小編就給大家推薦一款破解遊戲盒子:ios破解遊戲助手。ios破解遊戲助手包含好玩的ios破解遊戲、修仙、修真、角色扮演、模擬經營等各種類型破解手機遊戲!喜歡破解遊戲的玩家趕緊來下載吧!
  • Flutter如何快速做好App的圖標適配
    今天跟大家一起來學習如何做好Flutter App應用圖標的適配。Android 8.0 後App圖標開始變成圓形的圖標了如果不進行圖標適配的話,那麼顯示的圖標將異常醜那麼怎麼用一套圖標,既可以兼容安卓8之前的版本矩形/圓角矩形圖標,也可以兼容8之後的圓形圖標版本呢?
  • 小米手環4NFC版本適配iPhone是一種什麼樣的體驗?
    相對於其他智慧型手機廠商,小米是國內唯一一家採用AIOT+手機雙引擎戰略的移動網際網路公司,智能硬體種類繁多,涉及的領域更是豐富,由於信息不對稱等因素,造成當下一部分群體對於小米智能硬體的使用存在誤區,今天我們除了聊手環4的升級點,還要帶著大家體驗ios平臺的手環適配,看看非小米手機,甚至非安卓的平臺,小米的產品是否可以完美適配並正常工作。
  • 最全的破解軟體網站 ios平臺遊戲盒子最新排名
    最全的破解軟體網站 ios平臺遊戲盒子最新排名 來源:www.18183.com作者:wer時間:2020-10-16 最全的破解軟體網站,ios平臺遊戲盒子最新排名.在這裡你可以每天都能看到最新破解遊戲資源下載
  • 全部破解版遊戲盒子ios 蘋果全部破解遊戲盤點
    全部破解版遊戲盒子ios 蘋果全部破解遊戲盤點 來源:www.18183.com作者:wer時間:2020-12-04 全部破解版遊戲盒子ios,蘋果全部破解遊戲盤點.在這裡你可以每天都能看到最新破解遊戲資源下載
  • 開發者如何進行 app 開發適配?
    觸控螢幕讓手機app功能更加靈活觸手可及,全面屏讓app有了更多手勢操控方案,如果摺疊屏時代來臨對於app及整個app生態將會有怎麼樣的變化,app應該如何去適配這些新型的終端設備?對應用程式開發的影響●兩種狀態:展開和摺疊屏幕是摺疊屏手機的兩種形態。摺疊狀態下,手機看起來就像我們現在使用的傳統智慧型手機。但是,在展開狀態下,手機變成了平板電腦,屏幕尺寸和空間進一步擴大。
  • 蘋果Apple Store iOS 版 5.2 更新:支持 Siri 捷徑,適配 iOS 12
    IT之家12月6日消息 今天蘋果iPhone和iPad上的Apple Store app迎來5.2版本更新,正式支持Siri 捷徑,支持語音命令操作,另外更好地適配了iOS 12系統。
  • 蘋果要求iOS APP必須適配劉海,網友:為下一代鋪路
    iPhone X因其劉海屏的外觀設計給人留下了深刻的印象,不過距離真正的全面屏手機還是有很長一段距離要走。然而,這種異形屏對iOS軟體的適配帶來了挑戰和提出新要求。這意味著新應用的開發者必須要保證自己的應用可以完美適配蘋果的5.8英OLED異形屏幕,同時蘋果還希望開發者讓應用支持iOS 11中的新功能,例如Core ML、SiriKit和ARKit等。事實上,即使蘋果不要求開發者適配iPhone X,很多開發者自己也會主動去做。
  • Apple Store APP迎來更新 適配深色模式
    5月13日消息,目前Apple Store APP推送了v5.8版本更新,為iPhone和iPad適配了深色模式,用戶在夜間瀏覽Apple Store 時候可以有更加舒適的觀感。據了解,在官方更新日誌中表示深色模式已無縫嵌入此 app,用戶可在此全新模式下瀏覽、購買和探索,另外還有多處問題修復和功能提升。
  • 適用於ios端的實用尺子測量工具推薦
    自從蘋果ios11系統出來後,有很多ar相關的軟體出來了,最讓人驚喜的要屬手機尺子軟體,有了這個,不再需要實體的尺子工具,直接用手機就可以在線測量物體的尺寸和長度,小編這裡整理了一些ios蘋果手機實用的尺子工具,有興趣的可以了解下。
  • Android 10 適配攻略,你適配了嗎?
    相比較去年的寫的Android 9適配,這次Android 10的內容有點多。沒想到寫了我整整兩天,吐血中。。。老規矩,首先將我們項目中的targetSdkVersion改為 29。說明在Android 10之前的版本上,我們在做文件的操作時都會申請存儲空間的讀寫權限。
  • 21款iOS APP推薦,讓你的蘋果變得更有趣
    這21款APP你入手了嗎?微博國際版沒廣告,沒推薦關注。沒亂七八糟的東西,很乾淨,該有的都有。用著很爽。看評論才知道有五秒開屏廣告,用了半年我都沒發現,找了下原因,是小火箭的默認規則屏蔽了開屏廣告。nplayer最好的ios播放器,沒有之一。
  • ios用什麼下載破解遊戲 ios破解遊戲大全
    ios用什麼下載破解遊戲 ios破解遊戲大全 來源:www.18183.com作者:小熊吃奶酪時間:2020-06-10 ios用什麼下載破解遊戲?