ProxymanApp / Proxyman

Modern. Native. Delightful Web Debugging Proxy for macOS, iOS, and Android ⚡️
https://proxyman.io
5.51k stars 182 forks source link

[Atlantis] Atlantis on iOS 16 could not connect to Proxyman macOS app due to "Connection reset by peer" #1439

Open NghiaTranUIT opened 1 year ago

NghiaTranUIT commented 1 year ago

Description

If we use Atlantis on an iOS 16 Physical device, most of the time the Atlantis service cannot successfully connect to Proxyman macOS app.

Always get the following error:

[Atlantis] ❌ Connection to Proxyman app is failed, error=POSIXErrorCode(rawValue: 54): Connection reset by peer

Reason: We suspect that NSNetServiceBrowser is deprecated, so it might not work on iOS 16. NSNetServiceBrowser is a legacy framework for Bonjour Connection.

To workaround, use the iOS 16 Simulator.

Steps to Reproduce

  1. Use iOS 16 physical device and integrate Atlantis framework
  2. Start the app

Current Behavior

  1. Observe that the connection is failed ❌

Expected Behavior

Environment

NghiaTranUIT commented 1 year ago

Fixed: https://proxyman.s3.us-east-2.amazonaws.com/beta/Proxyman_3.13.0_Fix_Atlantis_connection_is_failed.dmg

smaky commented 8 months ago

Still this bug exist in iOS 17(simulator and real device).

Version of Atlantis: 1.23.0 Version of Proxyman: 4.15.0

Step to reproduce: Run app with atlantis on simulator (iOS 17) and stop from Xcode, then run another app instance on another simulator (diferent device type but the same iOS) and also stop, then come back to previous (from the beginning) run app instance.

I am not able to connect to Proxyman. I am getting error:

---------- 🧊 Atlantis is running (version 1.23.0)
---------- Github: https://github.com/ProxymanApp/atlantis
[Atlantis] Looking for Proxyman app in the network...
[Atlantis] 🔎 Found Proxyman at HostName = host1.local.
[Atlantis] ✅ Connect to host1.local.
[Atlantis] Connection established
[Atlantis] Flush 7 items
[Atlantis] ❌ Connection to Proxyman app is failed, error=POSIXErrorCode(rawValue: 54): Connection reset by peer
[Atlantis][Error] Error sending frame header: POSIXErrorCode(rawValue: 57): Socket is not connected
[Atlantis][Error] Error sending frame content: POSIXErrorCode(rawValue: 57): Socket is not connected
[Atlantis][Error] Error sending frame header: POSIXErrorCode(rawValue: 57): Socket is not connected
[Atlantis][Error] Error sending frame content: POSIXErrorCode(rawValue: 57): Socket is not connected
[Atlantis][Error] Error sending frame header: POSIXErrorCode(rawValue: 57): Socket is not connected
[Atlantis][Error] Error sending frame content: POSIXErrorCode(rawValue: 57): Socket is not connected
[Atlantis][Error] Error sending frame header: POSIXErrorCode(rawValue: 57): Socket is not connected
[Atlantis][Error] Error sending frame content: POSIXErrorCode(rawValue: 57): Socket is not connected
[Atlantis][Error] Error sending frame header: POSIXErrorCode(rawValue: 57): Socket is not connected
[Atlantis][Error] Error sending frame content: POSIXErrorCode(rawValue: 57): Socket is not connected
[Atlantis][Error] Error sending frame header: POSIXErrorCode(rawValue: 57): Socket is not connected
[Atlantis][Error] Error sending frame content: POSIXErrorCode(rawValue: 57): Socket is not connected
[Atlantis][Error] Error sending frame header: POSIXErrorCode(rawValue: 57): Socket is not connected
[Atlantis][Error] Error sending frame content: POSIXErrorCode(rawValue: 57): Socket is not connected
[Atlantis][Error] Error sending frame header: POSIXErrorCode(rawValue: 57): Socket is not connected
[Atlantis][Error] Error sending frame content: POSIXErrorCode(rawValue: 57): Socket is not connected