slo*_*ord 0 jsonp http ios angularjs cordova
我有一个Cordova Angularjs应用程序从我的服务器获取一些JSON.它适用于iOS 8,但当我"升级"到iOS 9时,我现在从我的服务器中得不到任何东西.服务器尚未更改,如果我导航到我的URL,我可以看到JSON响应.
我把它缩小到我的$ http.jsonp()方法.尝试检索JSON时,它给出了404错误.相同的确切代码工作正常,并在iOS 8设备上获取JSON.
其他任何人都有这个和iOS 9的问题,并已经想出更多?这看起来像苹果相关的问题......
将其添加到您的info.plist文件中.
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key><true/>
</dict>
Run Code Online (Sandbox Code Playgroud)
从这个页面
应用程序传输安全(ATS)在应用程序及其后端之间的安全连接中实施最佳实践.ATS防止意外泄露,提供安全的默认行为,并且易于采用; 它在iOS 9和OS X v10.11中默认也是打开的.无论您是创建新应用程序还是更新现有应用程序,都应尽快采用ATS.
如果您正在开发新应用,则应该专门使用HTTPS.如果您有现有应用,则应尽可能多地使用HTTPS,并创建一个计划,以便尽快迁移其余应用.此外,您通过更高级别的API进行的通信需要使用具有前向保密性的TLS 1.2版进行加密.如果尝试建立不符合此要求的连接,则会引发错误.如果您的应用需要向不安全的域发出请求,则必须在应用的Info.plist文件中指定此域.
默认情况下,iOS9中已启用此功能.他们建议尽可能使用https进行开发.要解决这个问题,您需要在此答案中使用之前的代码.
| 归档时间: |
|
| 查看次数: |
915 次 |
| 最近记录: |