Skip to content

Commit 02a6830

Browse files
authored
Fixing Compilation for visionOS (#76)
1 parent 532371b commit 02a6830

File tree

6 files changed

+27
-33
lines changed

6 files changed

+27
-33
lines changed

.github/workflows/SundialKit.yml

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ jobs:
1818
swift:
1919
- version: "6.1"
2020
- version: "6.2"
21-
- version: "6.1"
22-
nightly: true
2321
- version: "6.2"
2422
nightly: true
2523
steps:
@@ -49,27 +47,25 @@ jobs:
4947
include:
5048
# SPM Build Matrix - Xcode 16.x+ (Swift 6.x)
5149
- runs-on: macos-26
52-
xcode: "/Applications/Xcode_26.1.app"
50+
xcode: "/Applications/Xcode_26.2.app"
5351
- runs-on: macos-26
54-
xcode: "/Applications/Xcode_26.0.app"
52+
xcode: "/Applications/Xcode_26.1.app"
5553
- runs-on: macos-15
5654
xcode: "/Applications/Xcode_16.4.app"
57-
- runs-on: macos-15
58-
xcode: "/Applications/Xcode_16.3.app"
5955

6056
# iOS Build Matrix - Xcode 16.x+ (Swift 6.x)
6157
- type: ios
6258
runs-on: macos-26
63-
xcode: "/Applications/Xcode_26.1.app"
59+
xcode: "/Applications/Xcode_26.2.app"
6460
deviceName: "iPhone 17 Pro"
65-
osVersion: "26.1"
61+
osVersion: "26.2"
6662
download-platform: true
6763

6864
- type: ios
6965
runs-on: macos-26
70-
xcode: "/Applications/Xcode_26.0.app"
66+
xcode: "/Applications/Xcode_26.1.app"
7167
deviceName: "iPhone 17 Pro"
72-
osVersion: "26.0.1"
68+
osVersion: "26.1"
7369
download-platform: true
7470

7571
- type: ios
@@ -78,23 +74,17 @@ jobs:
7874
deviceName: "iPhone 16e"
7975
osVersion: "18.5"
8076

81-
- type: ios
82-
runs-on: macos-15
83-
xcode: "/Applications/Xcode_16.3.app"
84-
deviceName: "iPhone 16"
85-
osVersion: "18.4"
86-
8777
# watchOS Build Matrix - Xcode 16.x+ (Swift 6.x)
8878
- type: watchos
8979
runs-on: macos-26
90-
xcode: "/Applications/Xcode_26.1.app"
80+
xcode: "/Applications/Xcode_26.2.app"
9181
deviceName: "Apple Watch Ultra 3 (49mm)"
92-
osVersion: "26.0"
82+
osVersion: "26.2"
9383
download-platform: true
9484

9585
- type: watchos
9686
runs-on: macos-26
97-
xcode: "/Applications/Xcode_26.0.app"
87+
xcode: "/Applications/Xcode_26.1.app"
9888
deviceName: "Apple Watch Ultra 3 (49mm)"
9989
osVersion: "26.0"
10090
download-platform: true
@@ -105,11 +95,13 @@ jobs:
10595
deviceName: "Apple Watch Series 10 (46mm)"
10696
osVersion: "11.5"
10797

108-
- type: watchos
109-
runs-on: macos-15
110-
xcode: "/Applications/Xcode_16.3.app"
111-
deviceName: "Apple Watch Series 10 (42mm)"
112-
osVersion: "11.4"
98+
# visionOS Build Matrix - Xcode 16.x+ (Swift 6.x)
99+
- type: visionos
100+
runs-on: macos-26
101+
xcode: "/Applications/Xcode_26.2.app"
102+
deviceName: "Apple Vision Pro"
103+
osVersion: "26.2"
104+
download-platform: true
113105

114106
steps:
115107
- uses: actions/checkout@v4

.github/workflows/sundial-demo.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ jobs:
3434
# iOS Builds - Xcode 26.x on macOS-26
3535
- type: ios
3636
runs-on: macos-26
37-
xcode: "/Applications/Xcode_26.0.app"
37+
xcode: "/Applications/Xcode_26.2.app"
3838
deviceName: "iPhone 17 Pro"
39-
osVersion: "26.0.1"
39+
osVersion: "26.2"
4040
download-platform: true
4141

4242
- type: ios
@@ -49,9 +49,9 @@ jobs:
4949
# watchOS Builds - Xcode 26.x on macOS-26
5050
- type: watchos
5151
runs-on: macos-26
52-
xcode: "/Applications/Xcode_26.0.app"
52+
xcode: "/Applications/Xcode_26.2.app"
5353
deviceName: "Apple Watch Ultra 3 (49mm)"
54-
osVersion: "26.0"
54+
osVersion: "26.2"
5555
download-platform: true
5656

5757
- type: watchos
@@ -129,7 +129,7 @@ jobs:
129129
working-directory: ${{ env.DEMO_PATH }}
130130

131131
- name: Select Xcode
132-
run: sudo xcode-select -s "/Applications/Xcode_26.0.app"
132+
run: sudo xcode-select -s "/Applications/Xcode_26.1.app"
133133

134134
- name: Setup SSH for AppCerts repository
135135
uses: webfactory/ssh-agent@v0.9.0

Package.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,9 @@ let package = Package(
7070
.iOS(.v16),
7171
.watchOS(.v9),
7272
.tvOS(.v16),
73-
.macOS(.v11)
73+
.macOS(.v11),
74+
.visionOS(.v1),
75+
.macCatalyst(.v13)
7476
],
7577
products: [
7678
// Core protocols and types

Sources/SundialKitConnectivity/Extensions/WCSession.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
extension WCSession {
3434
/// polyfill for whether the app is installed on the other device
3535
public var isPairedAppInstalled: Bool {
36-
#if os(iOS)
36+
#if os(iOS) || os(visionOS)
3737
return isWatchAppInstalled
3838
#else
3939
return isCompanionAppInstalled

Sources/SundialKitConnectivity/WatchConnectivitySession+WCSessionDelegate.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
)
6464
}
6565

66-
#if os(iOS)
66+
#if os(iOS) || os(visionOS)
6767

6868
internal func sessionDidBecomeInactive(_: WCSession) {
6969
delegate?.sessionDidBecomeInactive(self)

Sources/SundialKitNetwork/Extensions/PathStatus.UnsatisfiedReason.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public import SundialKitCore
4545
]
4646

4747
// Add vpnInactive mapping on newer platforms where it's available
48-
if #available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, *) {
48+
if #available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *) {
4949
mappings[.vpnInactive] = .vpnInactive
5050
}
5151

0 commit comments

Comments
 (0)