Skip to content

Conversation

@codegen-sh
Copy link

@codegen-sh codegen-sh bot commented Apr 28, 2025

This PR enhances the iOS debugger by integrating FLEX (Flipboard Explorer) functionality, providing a more comprehensive debugging experience while maintaining compatibility with iOS 15+.

Changes

New Components

  • Added FLEXDebuggerAdapter to bridge between our debugger and FLEX functionality
  • Created FLEXToolsViewController to provide access to all FLEX debugging tools
  • Added documentation in README.md

Enhanced Functionality

  • Network monitoring with detailed request/response inspection
  • View hierarchy exploration
  • Runtime object browser
  • File system and database inspection
  • User defaults and keychain viewing
  • System logs

Implementation Details

  • Used runtime capabilities to integrate with FLEX without creating a direct dependency
  • Ensured graceful fallback when FLEX is not available
  • Maintained thread safety with dedicated dispatch queues
  • Preserved existing debugger UI flow while adding new capabilities
  • Added iOS 15+ specific UI enhancements with fallbacks for earlier versions

Usage

The enhanced debugger can be accessed via the existing floating button. The FLEX tools are available from:

  1. The "FLEX Tools" tab in the debugger interface
  2. The "FLEX" button in the navigation bar
  3. The "Open FLEX Network Monitor" button in the Network tab

Integration Instructions

To fully enable FLEX functionality, add FLEX to your project using CocoaPods or Swift Package Manager:

CocoaPods

pod 'FLEX', :configurations => ['Debug']

Swift Package Manager

.package(url: "https://github.com/FLEXTool/FLEX.git", from: "5.0.0")

💻 View my workAbout Codegen

@mentatbot
Copy link

mentatbot bot commented Apr 28, 2025

If you would like me to review this PR, either tag me in a comment or check this box:

  • Review PR

You can disable automatic comments on my settings page

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant