问题标签 [app-transport-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
253 浏览

ios - 如何捕获应用程序传输安全阻止的请求

我想检测一个请求何时被 ATS 阻止,以便我可以记录此错误(例如在 Crittercism 等外部服务上)。

Apple 是否为此提供任何 API?我在网上找不到任何东西。

谢谢

0 投票
2 回答
2787 浏览

ios - SFSafariViewController 的问题

作为 iOS 9 ATS 更改的一部分,我正在更新一个应用程序以将 SFSafariViewController 用于第三方 http 网站。

当我初始化并呈现实例时,我得到的只是一个空白的白色视图。没有导航栏,没有内容……什么都没有。这发生在设备 (iOS 9.1) 和模拟器 (iOS 9.1) 上。但是在设备上我在一分钟左右后收到以下调试器消息:

该应用程序正确包含 SafariServices 框架。我创建了一个测试项目,以查看我的 SDK 安装是否有问题,但该项目运行良好。

我已经通过 Apple Developer Portal 请求支持,并在 Apple Developer Forums 上提出了这个问题。任何人都知道这是什么或如何解决它?

0 投票
1 回答
80 浏览

ios - App Transport Security if I Don’t Know All the Insecure Domains I Need to Use

I have seen this question somewhat answered here but in my case I am using NSURLSession to display images. These images are uploaded by user or scanned into a database using a script.

In this case writing exception URL's (NSExceptionDomains) won't work because the image is hosted by a user on their site or some other site. If I allow NSAllowsArbitraryLoads will I still be able to be approve for App Store since I am not implementing the best practices of ATS?

I am not sure the best way to proceed. Any input would be appreciated!

Here is the code I am using.

0 投票
2 回答
1655 浏览

ios - 如何调试 NSAllowsArbitraryLoads 不起作用?

我在我的应用程序的 UIWebView 中加载 youku.com 视频时遇到问题。我很确定这是由于应用程序传输安全性,因为用 HTTPS URL 替换嵌入可以正常工作。当然,没有 HTTPS 等效 URL,因为中国。

我已经阅读了各种 NSAppTransportSecurity 设置。我的第一直觉当然是尝试使用 NSAllowsArbitraryLoads 来至少验证问题,但这并没有奏效。然后我按照各种在线指南展示了如何像你应该做的那样使用 NSExceptionDomains,但这也不起作用。

现在我被困住了。FWIW,我正在捕获这样的 URL 加载错误:

目前我正在使用一个虚拟测试 URL exon.name,这会产生:

确认一下,-999 是 App Transport Security 执行此操作时的错误,对吗?(这不是一个信息量很大的错误!)

另一件事,如NSAllowsArbitraryLoads not working中所述,您必须编辑“Info.plist”文件。我没有这样的文件。我有“ZaoMengShe-Info.plist”(“ZaoMengShe”是我的应用程序的名称)。但是没有一个问题显示包含文件名的实际屏幕截图,所以据我所知,每个人的 Info.plist 文件实际上都包含应用程序的名称,这很正常。我弄错了吗?

应用传输安全设置 Info.plist 设置

0 投票
2 回答
524 浏览

ios - 为什么无法访问?

我想在 iOS 模拟器上访问公司内部 https 的页面。这个页面可以在 safari 上访问。但是 WKWebView 无法访问。程序说以下错误。

TLS 版本为 TLSv1.2。

如果我设置 NSAllowsArbitraryLoads,我可以访问。但我认为这种方式并不好。

我的代码如下。

这是什么问题?

顺便说一句,我可以在真实设备上访问。我无法仅在模拟器上访问。

0 投票
0 回答
47 浏览

ios - 由于 ATS,媒体服务器 HTTP IP 地址在 iOS 9 中不起作用

我曾经使用类似于此的 HTTP 服务器地址流式传输电台:http://208.53.158.48:8100

当我在 iOS 9 中测试我的应用程序时,该应用程序没有播放广播电台,但在 iOS 8.4 中一切正常。

我怎样才能解决这个问题

注意: - 如果在我的情况下使用 IP 地址(服务器 IP 地址),则有关 ATS 的其他问题将不起作用。我需要帮助排除 IP 地址而不是域名?- 我只有服务器的 http 地址 - 我想要一个永久的解决方案,而不是一个临时的解决方案,苹果将来可能会出现功能障碍。

0 投票
1 回答
470 浏览

ios - iOS App Transport Security 阻止来自例外域的 http 传输

我正在尝试将 ATS 配置为允许从我的域加载 http,但是使用下面的 plist 设置,它仍然阻止访问图像请求(但奇怪的是,不是 http 'POST' 消息)。如果我启用 Allow Arbitrary Loads 它工作正常。获取图像的代码使用 NSURLConnection sendAsynchronousRequest 和(例如) url http://www.my-domain.com/ImageStore/aFolder/bfolder/xyz.jpg。我正在使用最新更新从模拟器运行。我找不到其他人报告类似的问题......我做错了什么?

警告信息:

App Transport Security 已阻止明文 HTTP (http://) 资源加载,因为它不安全。可以通过应用程序的 Info.plist 文件配置临时例外。

info.plist 设置:

0 投票
0 回答
1733 浏览

ios - iOS 9:从 URL 加载图像时出现错误 Domain=NSCocoaErrorDomain Code=256

我的应用程序中有两个目标,应用程序在 iOS 9 更新之前运行良好。

突然图像加载开始失败并出现错误

通过搜索,我了解到 iOS 9 中新的网络访问安全性。

我得到了在两个 plist 文件中添加以下内容以进行绕过的线索:

这解决了我在几个月前添加的目标的问题。但是我在大约 10 个月前与项目一起获得的目标中仍然面临同样的问题。

我在这里缺少任何东西。

请指导。

谢谢 !

0 投票
2 回答
2913 浏览

ssl - ios9 自签名证书和应用程序传输安全性

我花了一段时间试图让这个工作。我有一个正在连接的 API,我正在尝试使用自签名证书切换到 SSL。我可以控制服务器和应用程序。

我根据这个生成了一个自签名证书:

https://kyup.com/tutorials/create-ssl-certificate-nginx/

我在服务器(NGINX)上尝试了一些配置选项

在客户端,我尝试了 ATS 的一些不同选项:

根据不同的 ATS 选项,我会收到错误:

或者

有任何想法吗?还有其他人在为自签名证书而苦恼吗?

PS 我在 OS X 10.11.2 Beta,Xcode 7.1.1

0 投票
0 回答
81 浏览

ios - Vimeo API OAUTH2 登录后未重定向到 IOS

我正在尝试在 iOS 9.2 中使用来自 Vimeo 的 VIM NETWORKING 库:

https://github.com/vimeo/VIMNetworking

使用 pegasus 示例构建,我能够通过 facebook 成功登录 OAUTH2,然后重定向回我的应用程序。

只有在我确保以下条目位于我的 plist 文件中之后,我才能实现这一点(这在任何地方都没有记录):

现在这适用于具有 Xcode 7.2 / ios9.2 的模拟器,但是当部署到我的手机时,再次 9.2 不会发生重定向。

有没有人知道任何其他可能解释手机和模拟器之间差异的特定设置。

所以 - 问题 - 为什么 VIMEO 没有重定向回我的应用程序???

来自成功(模拟器)的日志如下:

手机记录如下:

注意 - 没有在电话上进行回叫。