posts - 233,  comments - 527,  trackbacks - 0

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

 

posted on 2015-09-19 10:53 xalion 阅读(...) 评论(...) 编辑 收藏