In case it helps anyone, I was able to work around this by running Browsermob-proxy on our CI machine that hosts the simulator, and setting the OS-level proxy settings to go through that. Then, I use curl commands (and/or translated them into Swift code) to tell browsermob to blacklist/whitelist access to resources. Now, during our automated tests, we can effectively simulate an internet connection going up and down when trying certain actions.