iOS 8 / Xcode 6 模拟器不再使用 HTTP 代理

Posted

技术标签:

【中文标题】iOS 8 / Xcode 6 模拟器不再使用 HTTP 代理【英文标题】:iOS 8 / Xcode 6 Simulator is not using HTTP Proxy anymore 【发布时间】:2014-11-21 09:14:44 【问题描述】:

我的 ios 8 模拟器不再使用我的代理设置(我想用 Charles 进行调试)。系统的其余部分可以。模拟器似乎以某种方式可以直接访问互联网。我错过了一些新设置吗?

注意:这不是How to use Charles Proxy on the Xcode 6 (iOS 8) Simulator? 的重复。我一开始并没有尝试在模拟器上使用 SSL。我的模拟器甚至没有开始使用代理。

查尔斯:

系统:

【问题讨论】:

iPhone 模拟器总是使用你 mac 的网络设置。检查您的机器是否同时与以太网和 wifi 连接。尝试关闭 1 个网络连接,然后再次检查。 它仅通过以太网连接,并且仅在此连接上设置了代理。 我很确定这不是模拟器的问题,而是您的网络设置问题。。正确检查网络是否正确配置为仅使用代理设置。 我用截图更新了我的问题,请见上文。 只需重启 iPhone 模拟器。为此,我使用以下技巧转到设置>>常规>>辅助功能>>粗体文本打开>>选择器视图打开并要求重新启动以使其生效>>按继续>> iPhone模拟器现在重新启动弹出窗口询问代理的用户名和密码。 (由互联网上的其他人建议) 【参考方案1】:

在代理更改之间重新启动模拟器

【讨论】:

或任何网络配置更改,不仅仅是代理更改。 为什么我必须来这里重启我的模拟器? “你试过把它关掉再打开吗?”是我们应该始终首先问自己的! :-) 谢谢你提醒我!拯救了我的一天。 开始一个新的会话也可能对查尔斯有帮助【参考方案2】:

这是正确的。在主机上设置的代理设置不一定可供模拟运行时使用。如果您的代理服务器需要身份验证,您将无法在 iOS 模拟器中使用它,因为模拟器和主机不共享相同的钥匙串。如果您依赖此功能,请通过http://bugreport.apple.com 提交雷达并请求替代方案。

另请注意,这在Xcode 6 Release Notes 中进行了讨论:

iOS 模拟器不支持使用需要身份验证的网络代理服务器。 (14889876)

【讨论】:

【参考方案3】:

不要忘记 HTTPS:

    设置 Web 代理 (HTTP)安全 Web 代理 (HTTPS) 代理更改后重启模拟器

【讨论】:

以上是关于iOS 8 / Xcode 6 模拟器不再使用 HTTP 代理的主要内容,如果未能解决你的问题,请参考以下文章

iOS 8 和 XCode 6 上的 AVFoundation 语音合成

Xcode 6 / iOS 8 Simulator Data 和 Bundle 文件夹脚本

如何在 Xcode 6 (iOS 8) 模拟器上使用 Charles Proxy?

如何在 Xcode 6.1 中安装 iOS 7.0 和 iOS 8.0 模拟器?

Xcode 6 Beta iOS 8 模拟器无法访问互联网

在 10.9 上使用 Xcode 6 没有可用的 iOS 8.0 模拟器