Skip to content

Swift Installation — Complete Setup Guide for Mac and Linux

DodaTech Updated 2026-06-28 5 min read

In this tutorial, you will learn about Swift Installation. We cover key concepts, practical examples, and best practices to help you master this topic.

Swift installation requires Xcode on macOS or the Swift toolchain on Linux, providing the compiler, package manager, and debugging tools needed to build applications for Apple platforms or server-side Swift. This tutorial covers downloading and installing Xcode from the App Store, installing command-line tools separately, setting up Swift on Ubuntu Linux, verifying the installation with swift --version, creating a first Swift package with SPM, and configuring your editor for Swift development.

What You'll Learn

  • Installing Xcode from the Mac App Store
  • Installing the Xcode Command Line Tools
  • Setting up Swift on Ubuntu Linux via the official toolchain
  • Verifying Swift installation with swift --version
  • Creating and building a first Swift package
  • Configuring VS Code or AppCode for Swift development
  • Understanding the Swift toolchain components

Why It Matters

A proper development environment is the foundation for productive Swift development. Choosing the wrong setup wastes hours on tooling issues. Xcode provides the complete IDE experience for Apple platforms, while Linux setups are essential for server-side Swift. Understanding both environments lets you write Swift anywhere.

Real-World Use

The Doda Browser team uses Xcode on macOS for iOS development and Swift on Linux for CI/CD pipelines that run tests, Static Analysis, and build verification. The same Swift package code compiles on both platforms with zero modifications.

Learning Path

flowchart LR
  A[What Is Swift?] --> B[Installation\nYou are here]
  B --> C[Swift Basics]
  style B fill:#f90,color:#fff

Installing on macOS

The primary development environment for Swift on macOS is Xcode. Download it from the Mac App Store (free) or the Apple Developer website:

# Install Xcode via the App Store (recommended)
# Or use the command-line tool mas
mas install 497799835

# Accept the license agreement
sudo xcodebuild -license accept

# Install command-line tools separately (if needed)
xcode-select --install

After installation, verify:

swift --version

Output:

swift-driver version: 1.90.11.1 Apple Swift version 6.0 (swiftlang-6.0.0.7.6 clang-1600.0.24.1)
Target: arm64-apple-macosx15.0

Installing on Linux (Ubuntu)

Swift is officially supported on Ubuntu. Download the latest toolchain:

# Install dependencies
sudo apt-get update
sudo apt-get install -y clang libicu-dev libcurl4-openssl-dev libpython3-dev

# Download Swift 6.0 for Ubuntu 24.04
wget https://download.swift.org/swift-6.0-release/ubuntu2404/swift-6.0-RELEASE/swift-6.0-RELEASE-ubuntu24.04.tar.gz

# Extract to /opt
sudo tar -xzf swift-6.0-RELEASE-ubuntu24.04.tar.gz -C /opt

# Add to PATH
echo 'export PATH=/opt/swift-6.0-RELEASE-ubuntu24.04/usr/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

# Verify
swift --version

Output:

Swift version 6.0 (swift-6.0-RELEASE)
Target: x86_64-unknown-linux-gnu

Creating Your First Swift Package

Swift Package Manager (SPM) is the build system for Swift projects:

mkdir HelloSwift
cd HelloSwift
swift package init --type executable

This creates:

HelloSwift/
  Package.swift
  Sources/
    main.swift
  Tests/
    HelloSwiftTests/
      HelloSwiftTests.swift

Edit Sources/main.swift:

import Foundation

func greet(name: String) -> String {
  let formatter = DateFormatter()
  formatter.dateFormat = "HH"
  let hour = Int(formatter.string(from: Date())) ?? 12

  let greeting: String
  switch hour {
  case 5..<12: greeting = "Good morning"
  case 12..<17: greeting = "Good afternoon"
  case 17..<22: greeting = "Good evening"
  default: greeting = "Good night"
  }

  return "\(greeting), \(name)! Welcome to Swift."
}

print(greet(name: "Alice"))

Build and run:

swift build
swift run

Output:

Good morning, Alice! Welcome to Swift.

Configuring VS Code for Swift

Install the Swift extension by Swift Server Work Group:

  1. Open VS Code
  2. Press Cmd+Shift+X (or Ctrl+Shift+X on Linux)
  3. Search for "Swift" and install
  4. Open your Swift project folder
  5. The extension automatically detects Package.swift and configures:
    • Code completion
    • Syntax highlighting
    • Debugging with LLDB
    • Test runner with XCTest

Understanding the Swift Toolchain

The Swift toolchain consists of several components:

Component Purpose
swift Compiler driver
swiftc Low-level compiler
swift-build Build system (SPM)
swift-test Test runner
lldb Debugger
sourcekit-lsp Language server protocol
swift-format Code formatter

Check available tools:

swift help
xcrun swiftc --help

Common Mistakes

  1. Installing only Xcode without command-line tools: Xcode includes the IDE but the command-line tools must be installed separately with xcode-select --install.
  2. Using an outdated Swift version: Swift evolves rapidly. The version included with Xcode depends on the Xcode version. Keep both updated.
  3. Not creating a symlink on Linux: The Swift binary directory should be in PATH. Consider adding a symlink to /usr/local/bin for convenience.
  4. Mixing Swift versions between Xcode and terminal: Xcode uses its bundled Swift version. The terminal uses the PATH. Ensure they match for consistency.
  5. Forgetting to accept the Xcode license: New Xcode installations require license acceptance. Run sudo xcodebuild -license accept.

Practice Questions

  1. What is the difference between Xcode and the Swift toolchain?

    • Xcode is the full IDE with Interface Builder, simulators, and profiling tools. The Swift toolchain provides the compiler, debugger, and package manager.
  2. How do you create a new executable Swift package?

    • Run swift package init --type executable in an empty directory. This creates Package.swift, Sources/main.swift, and a test target.
  3. What command runs the Swift test suite?

    • swift test discovers and runs all XCTest test classes in the Tests directory.
  4. How do you update Swift on macOS?

    • Update Xcode through the Mac App Store. Each Xcode release includes a newer Swift version.
  5. Challenge: Set up a Swift project with multiple targets (a library target and an executable target that depends on it). Write a unit test for the library and run it with swift test.

Mini Project

Create a development environment verification script:

  • Write a Swift script that prints the compiler version, target platform, and available SDKs.
  • Verify that Foundation, SwiftUI (macOS only), and XCTest can be imported.
  • Benchmark a simple loop to measure CPU performance.
  • Print a formatted report with all results.

FAQ

Do I need a Mac to develop with Swift?

For iOS and macOS apps, yes, because Xcode only runs on macOS. For server-side Swift or learning the language, Linux or Windows works.

How much does Xcode cost?

Xcode is free on the Mac App Store. A $99/year Apple Developer Program membership is needed to distribute apps on the App Store.

Can I install multiple Swift versions?

Yes. Download and extract different toolchain versions. Use xcrun or export TOOLCHAINS to switch between them.

What is Swift Package Manager?

SPM is Apple's build system and dependency manager for Swift projects, analogous to Cargo for Rust or npm for JavaScript.

What's Next

With Swift installed, start learning the language fundamentals in the Swift Basics tutorial.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro