xCode 7更新打破了Cordova jQuery $ .ajax()调用

时间:2015-09-30 15:15:47

标签: jquery ajax xcode cordova

我最近将xCode更新为版本7,看来该更新打破了Cordova应用程序中的$ .ajax()调用。我使用HTTP scoop来尝试查看正在尝试调试的调用类型,但它看起来甚至没有尝试进行Web服务调用。我知道这个应用程序在XCode(和iOS)更新之前有效。

Web服务正在使用HTTP,我确实看到一些关于iOS9中不再允许的内容。我试图添加' NSAllowArbitraryLoads = true'字符串到我的info.plist文件,但似乎没有什么区别。

提前致谢!

1 个答案:

答案 0 :(得分:2)

您是否正确添加了此内容? Xcode 7将使用iOS 9,默认情况下不允许HTTP后端调用,除非使用NSAllowsArbitraryLoads覆盖,如您所述。 (注意你把它拼写为错误,因为NSAllowArbitraryLoads 并且缺少's')

以下是您的应用信息.plist更改的实际示例:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key>
  <true/>
</dict>

这是一个脚本,您可以将其用作iOS的预构建钩子来自动执行此操作:

#!/bin/bash

echo“为App Transport Security异常调整plist。” val = $(/ usr / libexec / plistbuddy -c“添加NSAppTransportSecurity:NSAllowsArbitraryLoads bool true”platforms / ios / PROJECTNAME / PROJECTNAME-Info.plist 2&gt; / dev / null) 回声“完成”

只需将PROJECTNAME替换为项目名称即可。