[IOS] XCode7  Could not connect to the server解法

IOS9 XCode7  Could not connect to the server  解法

前言

IOS升級IOS9之後,Apple對安全性的嚴謹度又再度提升了,預設禁止非https連線。換句話說,只要是Xcode7版本以上開發的IOS app,如果有呼叫後端api的行為,而不是走https模式,將會因為App Transport Security(ATC) 預設禁止非https的連線設定,而無法運作,錯誤畫面如下所示。

該如何解決?

正統方式當然是讓後端api走https模式,但假如因為某某原因暫時無法更改,還是可以放大絕,將App Transport Security限制給取消掉。

操作方式只要打開專案底下的plist檔案,在目錄下新增"App Transport Security Setting",預設是會跳出可以直接選取的,之後在下方再新增"Allow Arbitrary Loads"屬性,並設定為YES,可參考下圖,就可以正常運作了。

 

結論

在Apple的世界裡,開發者是非常弱勢的,而且Apple此項改變可提升安全性,所以建議還是快點將後端API都更新為https模式才是正解,否則某天Apple將此屬性註銷掉,那就悲劇了,所以該面對的還是趕快面對吧。