- 
          
 - 
                Notifications
    
You must be signed in to change notification settings  - Fork 35
 
Features
        Wojciech Kulik edited this page Oct 29, 2025 
        ·
        17 revisions
      
    - Support for iOS, iPadOS, watchOS, tvOS, visionOS, and macOS.
 - Support for Swift Packages (building & testing).
 - Project-based configuration.
 - Project Manager to deal with project files without using Xcode.
 - Assets Manager to manage images, colors, and data assets.
 - Test Explorer to visually present a tree with all tests and results.
 -  Built using official command line tools like 
xcodebuildandxcrun simctl. - Actions to build, run, debug, and test apps on simulators and physical devices.
 - Previews for SwiftUI, UIKit, and AppKit views.
 - Environment variables and run arguments management.
 - Buffer integration with test results (code coverage, success & failure marks, duration, extra diagnostics).
 - Code coverage report with customizable levels.
 - Advanced log parser to detect all errors, warnings, and failing tests.
 - nvim-tree, neo-tree, and oil.nvim integration that automatically reflects all file tree operations and updates Xcode project.
 - nvim-dap integration to let you easily build, run, and debug apps.
 - nvim-dap-ui integration to show app logs in the console window.
 - lualine.nvim integration to show selected device, test plan, and other project settings.
 - swift-snapshot-testing integration to present diff views for failing snapshot tests.
 - Quick integration to show test results for tests written using Quick framework.
 - Swift Testing integration to show test results for tests written using Swift Testing framework. See #222.
 - Swift Macros approval flow.
 - Auto-detection of the target membership for new files.
 - Picker with all available plugin actions.
 - Symbolication of crash call stack.
 - Highly customizable (many config options, auto commands, highlights, and user commands).
 
| Device (iOS <17) | Device (iOS 17+) | via Network (<17 / 17+) | Simulator | MacOS | |
|---|---|---|---|---|---|
| build | 🛠️ | ✅ | ❌ / ✅ | ✅ | ✅ | 
| (un)install | 🛠️ | ✅ | 🛠️ / ✅ | ✅ | ❌ | 
| launch | 🛠️ | ✅ | 🛠️ / ✅ | ✅ | ✅ | 
| run tests | 🛠️ | ✅ | ❌ / ✅ | ✅ | ✅ | 
| debug | 🛠️ | 🔐 🛠️ | ❌ | ✅ | ✅ | 
| debug tests | ❌ | ❌ | ❌ | ✅ | ✅ | 
| app logs | 🪲 | 🪲 | ❌ | ✅ | 🪲 | 
🔐 - requires passwordless sudo permission for tools/remote_debugger script (see below).
🛠️ - available if pymobiledevice3 is installed.
🪲 - available while debugging.
This plugin also supports Swift Packages, allowing you to build and test them, including test-related features like code coverage. However, note that executable packages are not supported; the package must be a library targeting an Apple platform.
Alternatively, to run and test your Swift Package on macOS or iOS, you can create a sample Xcode project in the root directory and add your package as a dependency.