iOS 適配iOS9
1、網絡接口不支持https協議,在iOS9下
在iOS9下,系統默認會攔截對http協議接口的訪問,因此無法獲取http協議接口的數據。
解決方案(以下方法2選1):
(1)暫時退回到http協議
具體方法:
在項目的info.plist中添加一個Key:NSAppTransportSecurity,類型為字典類型。
然後給它添加一個Key:NSAllowsArbitraryLoads,類型為Boolean類型,值為YES;
2016.01.06更新:
隨著SDK版本的更新,這裏需要以下更新。
具體方法:
在項目的info.plist中添加一個Key:App Transport Security Settings,類型為字典類型。
然後給它添加一個Key:Allow Arbitrary Loads,類型為Boolean類型,值為YES;
如圖:
(2)設置域。
可以簡單理解成,把不支持https協議的接口設置成http的接口。
具體方法:
1)、在項目的info.plist中添加一個Key:NSAppTransportSecurity,類型為字典類型。
2)、然後給它添加一個NSExceptionDomains,類型為字典類型;
3)、把需要的支持的域添加給NSExceptionDomains。其中域作為Key,類型為字典類型。
4)、每個域下面需要設置3個屬性:NSIncludesSubdomains、NSExceptionRequiresForwardSecrecy、NSExceptionAllowsInsecureHTTPLoads。
均為Boolean類型,值分別為YES、NO、YES。
2、大部分社交平臺SDK不支持bitcode。
問題描述:iOS 9新建項目默認需要支持bitcode,而不支持bitcode的SDK會導致無法編譯運行。
解決方案:
(1)暫時關閉對bitcode的支持(建議),方法如下圖
(2)移除不支持bitcode的平臺SDK。
3、添加Scheme白名單。
問題描述:在iOS 9下涉及到平臺客戶端跳轉,系統會自動到項目info.plist下檢測是否設置平臺Scheme。對於需要配置的平臺,如果沒有配置,就無法正常跳轉平臺客戶端。因此要支持客戶端的分享和授權等,需要配置Scheme名單。
具體方法:
1)在項目的info.plist中添加一LSApplicationQueriesSchemes,類型為Array。
2)然後給它添加一個需要支持的項目,類型為字符串類型;
參考鏈接:http://wiki.mob.com/ios9-對sharesdk的影響(適配ios-9必讀)/
iOS 適配iOS9