Skip to content

Features

Wojciech Kulik edited this page Nov 25, 2024 · 13 revisions

✨  All Features

  • 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 and xcrun 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).

 

✅  Availability

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.

 

📦  Swift Package Development

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.

Clone this wiki locally