【问题标题】:xCode 7 update broke Cordova jQuery $.ajax() calls [duplicate]xCode 7 更新破坏了 Cordova jQuery $.ajax() 调用 [重复]
【发布时间】:2015-12-28 10:56:34
【问题描述】:

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

Web 服务正在使用 HTTP,我确实看到了一些关于 iOS9 不再允许的讨论。我尝试将 'NSAllowArbitraryLoads=true' 字符串添加到我的 info.plist 文件中,但这似乎没有任何区别。

提前致谢!

【问题讨论】:

  • 副本就是答案。我错误地更新了 plist 文件。谢谢!

标签: jquery ajax xcode cordova


【解决方案1】:

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

以下是更改应用信息 .plist 的工作示例:

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

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

#!/bin/bash

echo "正在调整应用程序传输安全异常的 plist。" val=$(/usr/libexec/plistbuddy -c "添加 NSAppTransportSecurity:NSAllowsArbitraryLoads bool true" 平台/ios/PROJECTNAME/PROJECTNAME-Info.plist 2>/dev/null) 回声“完成”

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

【讨论】:

    猜你喜欢
    • 2019-12-18
    • 2021-01-22
    • 2023-04-01
    • 2013-09-05
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    • 2016-02-01
    • 1970-01-01
    相关资源
    最近更新 更多