[PR #91] [MERGED] Rewrite WebSocket Swizzling in Swift #140

Closed
opened 2026-03-03 19:12:03 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/ProxymanApp/atlantis/pull/91
Author: @VaslD
Created: 11/29/2021
Status: Merged
Merged: 12/14/2021
Merged by: @NghiaTranUIT

Base: mainHead: support/no-objc


📝 Commits (3)

  • 0cb291e Rewrite WebSocket swizzling in Swift.
  • 91c61b0 Fix Swift Package dependencies.
  • 6cdace4 Fix CocoaPod sources.

📊 Changes

7 files changed (+83 additions, -83 deletions)

View changed files

Objc/AtlantisHelper.h (+0 -18)
Objc/AtlantisHelper.m (+0 -35)
Objc/internal/Header.h (+0 -13)
📝 Package.swift (+1 -5)
Sources/AtlantisHelper.swift (+80 -0)
📝 Sources/NetworkInjector+URLSession.swift (+1 -10)
📝 atlantis-proxyman.podspec (+1 -2)

📄 Description

Long story short, I was trying to convert all my third-party dependencies to XCF to speed up internal testing, and Atlantis having two targets just to swizzle a NSURLSession WebSocket method really makes things complicated.

So I rewrote the swizzling in (not so pure) Swift, and made Atlantis one target (thus one simple XCF).

Not sure if this helps, or if even goes against the original purpose of the Objective-C module. But I tested the code on Simulator and hardwired device with the latest Proxyman and Demo app, and it looked good.

If needed I'll do more physical device tests tomorrow with real apps.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/ProxymanApp/atlantis/pull/91 **Author:** [@VaslD](https://github.com/VaslD) **Created:** 11/29/2021 **Status:** ✅ Merged **Merged:** 12/14/2021 **Merged by:** [@NghiaTranUIT](https://github.com/NghiaTranUIT) **Base:** `main` ← **Head:** `support/no-objc` --- ### 📝 Commits (3) - [`0cb291e`](https://github.com/ProxymanApp/atlantis/commit/0cb291ea56e132b92490b880ec5670a53782d601) Rewrite WebSocket swizzling in Swift. - [`91c61b0`](https://github.com/ProxymanApp/atlantis/commit/91c61b0d45af144a52197dd521e0fd9286d56332) Fix Swift Package dependencies. - [`6cdace4`](https://github.com/ProxymanApp/atlantis/commit/6cdace49f71e6bb5521533adb406b3863ce1e807) Fix CocoaPod sources. ### 📊 Changes **7 files changed** (+83 additions, -83 deletions) <details> <summary>View changed files</summary> ➖ `Objc/AtlantisHelper.h` (+0 -18) ➖ `Objc/AtlantisHelper.m` (+0 -35) ➖ `Objc/internal/Header.h` (+0 -13) 📝 `Package.swift` (+1 -5) ➕ `Sources/AtlantisHelper.swift` (+80 -0) 📝 `Sources/NetworkInjector+URLSession.swift` (+1 -10) 📝 `atlantis-proxyman.podspec` (+1 -2) </details> ### 📄 Description Long story short, I was trying to convert all my third-party dependencies to XCF to speed up internal testing, and Atlantis having two targets just to swizzle a NSURLSession WebSocket method really makes things complicated. So I rewrote the swizzling in (not so pure) Swift, and made Atlantis one target (thus one simple XCF). Not sure if this helps, or if even goes against the original purpose of the Objective-C module. But I tested the code on Simulator and hardwired device with the latest Proxyman and Demo app, and it looked good. If needed I'll do more physical device tests tomorrow with real apps. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-03 19:12:03 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/atlantis#140
No description provided.