如何在iOS上检查React Native应用程序的网络流量?

4
我正在使用最新的React Native (目前版本为0.18),想要检查我的iOS模拟器所发出的网络请求。在使用最新的Xcode“instruments”时,我得到了这个: enter image description here。我在两台机器上都尝试过,分别运行着10.11和10.10系统,都使用了最新的Xcode,但仍然遇到了相同的错误。
我也尝试过使用Charles,但无法拦截流量。Wireshark可以看到它,但我需要的数据是基于SSL的,所以我无法访问它。
作为一名Web开发人员,我理想情况下希望能够在Chrome调试器中检查网络流量,但我知道在这种环境下这是不可能的,而仅仅查看原始数据包并不足够友好,无法进行调试。
谁知道有什么解决办法?

Charles代理工具应该可以使用,并且可以解密SSL流量,除非安全证书被固定。我经常使用Charles。 - zaph
@zaph:你能否描述一下如何在iOS模拟器中设置Charles? - duck degen
帮助 > SSL代理 > 在iOS模拟器中安装Charles根证书 - duck degen
3个回答

4
原来使用Charles是一个不错的选择。
只需在Charles中设置SSL证书: 帮助 > SSL代理 > 在iOS模拟器中安装Charles根证书),然后就可以愉快地使用了!

1
我无法让Charles Proxy工作,即使没有SSL也不行。我无法在移动设备上使用WebSockets调试器?否则,它可以使用Charles Proxy从我的计算机下载代码。我不知道你是否有任何想法如何设置这个? - faceyspacey.com
对我来说也是一样,即使我向本地主机发送请求,没有SSL,我也无法让Charles显示请求。 - alexmngn
@alexmngn 你找到解决方案了吗?...我试图解决的主要问题是让我的团队成员都能使用相同的代码,而不必更改IP地址。在Objective C委托和Websockets文件中,我指定了一个域名(而不是IP地址或本地主机),开发人员可以通过他们的/ etc / hosts文件将其本地重定向到127.0.0.1。然后,他们只需要正确地为iPhone设置Charles代理即可。基本的HTTP流量可以正常工作,但以下URL似乎无法通过Websockets进行传输:my.domain.com:8081/debugger-proxy?role=client - faceyspacey.com

0

我可能有点晚了,但当我在搜索这个主题时,我发现这个https://github.com/infinitered/reactotron 工具非常有用,它不仅显示网络流量,还显示应用程序中的错误和状态。


-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接