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 里面直接設置了。
