Files
firezone/swift/apple/FirezoneKit/Package.swift
Mariusz Klochowicz 936b095391 chore(apple): Enable Swift 6.2 Approachable Concurrency features (#10799)
Enables SWIFT_APPROACHABLE_CONCURRENCY build setting which activates
a few key Swift 6.2 concurrency features, including:

1. NonisolatedNonsendingByDefault - Makes nonisolated async functions
run
   on the caller's executor instead of the global executor, providing
   more predictable performance and behaviour

2. InferIsolatedConformances - Protocol conformances automatically
   inherit global actor isolation, reducing annotation burden

Read more:
https://www.donnywals.com/what-is-approachable-concurrency-in-xcode-26/

Also bumps swift-tools-version from 6.0 to 6.2 in Package.swift to
enable newer Package Manager manifest APIs.

As a result of better type inference, removes 1 redundant @Sendable
annotation in Store.swift:
- vpnStatusChangeHandler: @MainActor closures are implicitly Sendable
2025-11-05 21:56:24 +00:00

30 lines
789 B
Swift

// swift-tools-version: 6.2
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "FirezoneKit",
platforms: [.iOS(.v15), .macOS(.v12)],
products: [
// Products define the executables and libraries a package produces, and make them visible to
// other packages.
.library(name: "FirezoneKit", targets: ["FirezoneKit"])
],
dependencies: [
.package(url: "https://github.com/getsentry/sentry-cocoa", exact: "8.56.2")
],
targets: [
.target(
name: "FirezoneKit",
dependencies: [
.product(name: "Sentry", package: "sentry-cocoa")
]
),
.testTarget(
name: "FirezoneKitTests",
dependencies: ["FirezoneKit"]
),
]
)