iOS 適配iOS9

一、網絡接口不支持https協議,在iOS9下

 在iOS9下,系統默認會攔截對http協議接口的訪問,所以沒法獲取http協議接口的數據。ios

 解決方案(如下方法2選1):網絡

(1)暫時退回到http協議

具體方法:dom

在項目的info.plist中添加一個Key:NSAppTransportSecurity,類型爲字典類型。ui

而後給它添加一個Key:NSAllowsArbitraryLoads,類型爲Boolean類型,值爲YES;spa

 

2016.01.06更新:code

隨着SDK版本的更新,這裏須要如下更新。blog

具體方法:接口

在項目的info.plist中添加一個Key:App Transport Security Settings,類型爲字典類型。字符串

而後給它添加一個Key:Allow Arbitrary Loads,類型爲Boolean類型,值爲YES;ios9

如圖:

 

 (2)設置域。

能夠簡單理解成,把不支持https協議的接口設置成http的接口。

具體方法:

1)、在項目的info.plist中添加一個Key:NSAppTransportSecurity,類型爲字典類型。

2)、而後給它添加一個NSExceptionDomains,類型爲字典類型;

3)、把須要的支持的域添加給NSExceptionDomains。其中域做爲Key,類型爲字典類型。

4)、每一個域下面須要設置3個屬性:NSIncludesSubdomains、NSExceptionRequiresForwardSecrecy、NSExceptionAllowsInsecureHTTPLoads。

均爲Boolean類型,值分別爲YES、NO、YES。

 

二、大部分社交平臺SDK不支持bitcode。

問題描述:iOS 9新建項目默認須要支持bitcode,而不支持bitcode的SDK會致使沒法編譯運行。

解決方案:

(1)暫時關閉對bitcode的支持(建議),方法以下圖

(2)移除不支持bitcode的平臺SDK。

 

三、添加Scheme白名單。

問題描述:在iOS 9下涉及到平臺客戶端跳轉,系統會自動到項目info.plist下檢測是否設置平臺Scheme。對於須要配置的平臺,若是沒有配置,就沒法正常跳轉平臺客戶端。所以要支持客戶端的分享和受權等,須要配置Scheme名單。

具體方法:

1)在項目的info.plist中添加一LSApplicationQueriesSchemes,類型爲Array。

2)而後給它添加一個須要支持的項目,類型爲字符串類型;

 

參考連接:http://wiki.mob.com/ios9-對sharesdk的影響(適配ios-9必讀)/

相關文章
相關標籤/搜索