delphi 10 seattle 中 解決IOS 9 限制使用HTTP 服務問題


   IOS 9 於17號早上正式開始推送,早上起來立馬安裝,這次升級包只有1G,

安裝空間也大大降低(想起IOS 8 升級時,幾乎把手機里面的東西刪光了,滿眼都是淚)。

雖然安裝后,網上幾乎是鋪天蓋地的吐槽,但是如果不安裝的話,拿什么吐呢?:)

    回到正題,既然IOS 9出來了,那么前幾天剛出來的delphi 10 會怎么想?是支持呢,還是不支持?

昨天晚上把所有的准備條件搞好(xcode7+ios 9 SDK).

   把以前的幾個程序重新編譯發布,基本上沒有問題,可以正常運行。以為大事已定。突然發現

原來一個使用webbrowser調用百度地圖的app不能顯示地圖了。

  打開調試工具(謝天謝地,Delphi 10 支持ios64 調試了 ,雖然是個半成品),運行時出現了下面的提示。

 

大概說的就是ios9阻止了使用明文傳輸的http. 怎么回事呢?

打開度娘,查了一下,原來確實是真的。

有興趣的話,可以看一下。 http://www.bubuko.com/infodetail-1050702.html

文中也給了解決辦法。

就是在Info.plist 里面加一段話。

<key>NSAppTransportSecurity</key><dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/></dict>
問題來了,在delphi 10 里面如何加這個呢?

讓我們回到delphi 10 里面,打開發布管理器。

可以看見,delphi 為這個工程自動建立了一個 工程名+.info.plist 文件,並要發布到手機里面, 文件的名字叫Info.plist
現在到這個目錄下,找到這個文件,拷貝到其它目錄。
用文本編輯器打開,加上上面的語句,如圖:

保存。
回到發布管理器

點增加按鈕,選擇新保存的文件。並把老的文件勾選去掉,如圖

OK.
現在重新編譯運行,問題解決了。

注意,由於每次對工程文件的修改,都有可能會重新生成新的info.plist 文件,因此修改了工程屬性后,需要重新做一下以上的步驟。
以便工程的修改生效。
下面是工程修改的主要地方。

切記,切記。

后記:

9月23日 tms 提供了一個新的簡便辦法

http://tmssoftware.com/site/blog.asp?post=317

再記:

11月20日

delphi 10 update1 已解決本問題,可以在IDE 里面直接設置了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM