-
-
Notifications
You must be signed in to change notification settings - Fork 19
Features
Wojciech Kulik edited this page Nov 25, 2024
·
13 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
xcodebuild
andxcrun simctl
. - Actions to build, run, debug, and test apps on simulators and physical devices.
- 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.
- Auto-detection of the target membership for new files.
- Picker with all available plugin actions.
- 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.