iOS模拟器无法连接到开发服务器



我正在MacOS XCode 12.3、模拟器iOS 14.3上进行开发,试图连接到本地网络上机器上的开发服务器。我在/etc/hosts中有一个条目指定了开发服务器的地址。这曾经有效,现在仍然适用于Mac应用程序。

模拟器中的应用程序无法访问服务器。模拟器中的Safari也无法访问服务器。

日志显示nil host used in call to allowsSpecificHTTPSCertificateForHostnil host used in call to allowsAnyHTTPSCertificateForHost:

我已经将Allow Arbitrary LoadsAllow Arbitrary Loads in Web Content设置为true,并在Info.plist中将服务器添加到Exception Domains

如何解决此问题?

事实证明模拟器不再使用/etc/hosts。我设置了一个本地DNS服务器dnsmasq,允许模拟器再次访问该服务器。

请参阅https://zhimin-wen.medium.com/setup-local-dns-server-on-macbook-82ad22e76f2a

<servername><ipaddress>替换为您的详细信息。

> brew install dnsmasq
> cp /usr/local/etc/dnsmasq.conf /usr/local/etc/dnsmasq.conf.orig
> echo "conf-dir=/usr/local/etc/dnsmasq.d/,*.conf" > /usr/local/etc/dnsmasq.conf
> echo "address=/<servername>/<ipaddress>" > /usr/local/etc/dnsmasq.d/<servername>
> sudo mkdir -p /etc/resolver 
> echo "nameserver 127.0.0.1"> /etc/resolver/<servername>
> sudo brew services start dnsmasq

测试DNS服务:

> dig <servername> @localhost +short
> 192.168.20.21

最新更新