1. 程式人生 > >解決ISO9強制https造成已有的app中原有的http失敗的問題。

解決ISO9強制https造成已有的app中原有的http失敗的問題。

用delphi xe 開發的iphone app, 在iphone升級到ios 9以後,出現一些奇怪的錯誤,原有的http請求都失敗。查了資料後才知道ios 9會強制所有的app中原有的http請求變為https請求。如果原有的伺服器部不支援https的話,就會出現各種錯誤。

解決辦法:修改源程式所帶的xxx.info.plist檔案,來關閉ios 9強制https的功能,讓針對app的http請求恢復。

從源程式的release或debug目錄下找到xxx.info.plist (xxx為app的名字). 開啟後加入(紅色為加入的部分)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSAppTransportSecurity</key>
<dict>
<!--Connect to anything (this is probably BAD)-->
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>


<key>CFBundleName</key>
        <string>STApp</string>
<key>CFBundleDevelopmentRegion</key>
        <string>en</string>
<key>CFBundleDisplayName</key>
        <string>STApp</string>

重新執行程式,部署app到iphone後,執行正常!