iOS9應用適配,技Get

來源:互聯網
上載者:User

標籤:

iOS9剛發布不久時,app在新的系統中會出現閃退的情況,app就iOS9的適配做了一些修改,以致使用者體驗性更好。特此做一下的總結和分享。主要從下面幾點做的適配。

  • 1.iOS9網路適配ATS-HTTP VS HTTPS
  • 2.Bitcode
  • 3.iOS9 URL Scheme 適配_引入白名單概念
  • 4.字型間隙變大導致 UI 顯示異常
  • 5.地理位置
  • 6.狀態列
  • 7.連絡人架構--Contacts VS AddressBook

 

iOS9網路適配-HTTP VS HTTPS

  • ATS——App Transport Security
  • 為了強制增強資料訪問安全, iOS9 預設會把 所有的http請求 所有從NSURLConnection 、 CFURL 、 NSURLSession發出的 HTTP 要求,都改為 HTTPS 請求為了強制增強資料訪問安全, iOS9 預設會把 所有的http請求 所有從NSURLConnection 、 CFURL 、 NSURLSession發出的 HTTP 要求,都改為 HTTPS 請求
  • 解決方案1:立即讓公司的服務端升級使用TLS 1.2,以解析相關資料
  • 解決方案2:雖Apple不建議,但可通過在 Info.plist 中聲明,倒退回不安全的網路請求依然能讓App訪問指定http,甚至任意的http

         

 

 

Bitcode

  • 未來Watch應用須包含Bitcode,iOS不強制,但Xcode7預設會開啟Bitcode。
  • bitcode是被編譯器的一種中間形式的代碼。包含bitcode配置的程式將會在App store上被編譯和連結。bitcode允許蘋果在後期重新最佳化程式的二進位檔案,而不需要重新提交一個新的版本到App store上。當提交程式到App store上時,Xcode會將程式編譯為一個中間表現形式(bitcode)。然後App store會再將這個bitcode編譯為可執行檔64位或32位程式。

           

iOS9 URL Scheme 適配_引入白名單概念

            

 

字型間隙變大導致 UI 顯示異常

  • iOS8中,字型是Helvetica,中文的字型有點類似於“華文細黑”。只是蘋果手機內建渲染,所以看上去可能比普通的華文細黑要美觀。iOS9中,中文系統字型變為了專為中國設計的“蘋方” 有點類似於一種word字型“幼圓”。字型有輕微的加粗效果,並且最關鍵的是字型間隙變大了!
  • 解決方案:使用sizetofit 或者ios向上取整 ceilf() 或者提前計算
  • CGSize size = [title sizeWithAttributes:@{NSFontAttributeName: [UIFont systemFontOfSize:14.0f]}];
  • CGSize adjustedSize = CGSizeMake(ceilf(size.width), ceilf(size.height));

地理位置

  • 適配iOS9,同一App中的多個location manager:一些只能在前台定位,另一些可在後台定位,並可隨時開啟或者關閉特定location manager的後台定位。
  • _locationManager = [[CLLocationManager alloc] init];
  • _locationManager.allowsBackgroundLocationUpdates = YES;

狀態列

  • Xcode 升級後,舊的狀態列的樣式設定方式會引起警告設定, app 的狀態列樣式的時候,使用了舊的方式,在 info.plist 裡面的 View controller-based status bar appearance 預設會為 YES,即使不設定也是 YES,但一般 iOS6 的時候為了設定狀態列樣式,需要將其設為NO,iOS7,8也相容,但是到了iOS9 就會警示告。
  • [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
  • 解決方案:對於原有的OldApi進行替換,在rootViewController以及自訂的基類Navi gationController中的類中重寫如下方法即可。對於特殊介面做單獨處理;
  • -(UIStatusBarStyle)preferredStatusBarStyle 
  • {return UIStatusBarStyleLightContent;}

連絡人架構--Contacts VS AddressBook

  iOS 9 中,蘋果介紹了新的 Contacts framework。允許使用者使用 Objective-C 的 API 和裝置的通訊錄進行互動,同樣適用於 Swift 語言。比起之前通過 AddressBook framework 來讀取連絡人資訊來說,這是一個巨大的進步。

優點:擷取資料更加快捷,效率效能更高,且方便調用; 

 

iOS9應用適配,技Get

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.