Skip to content

Commit 6b90a2f

Browse files
Add visionOS support (#327)
Co-authored-by: Scott Sykora <[email protected]>
1 parent e93995c commit 6b90a2f

File tree

114 files changed

+1405
-350
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

114 files changed

+1405
-350
lines changed

.github/workflows/ci.yml

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -42,22 +42,6 @@ jobs:
4242
strategy:
4343
fail-fast: false
4444
matrix:
45-
platform:
46-
- [ios, 13]
47-
- [ios, 14]
48-
- [ios, 15]
49-
- [ios, 16]
50-
- [ios, 17]
51-
52-
- [tvos, 13]
53-
- [tvos, 14]
54-
- [tvos, 15]
55-
- [tvos, 16]
56-
- [tvos, 17]
57-
58-
- [macos, 11]
59-
- [macos, 12]
60-
- [macos, 13]
6145
include:
6246
- platform: [ios, 13]
6347
runtime: iOS 13.7
@@ -66,6 +50,7 @@ jobs:
6650
install: true
6751
- platform: [ios, 14]
6852
runtime: iOS 14.5
53+
xcode: 14.2
6954
install: true
7055
- platform: [ios, 15]
7156
runtime: iOS 15.5
@@ -104,6 +89,11 @@ jobs:
10489
runtime: macOS 13
10590
os: macos-13
10691
xcode: 15.0
92+
93+
# FIXME: this currently hangs on CI
94+
# - platform: [visionos, 1]
95+
# runtime: visionOS 1.0-beta2
96+
# install: true
10797
steps:
10898
- name: Git Checkout
10999
uses: actions/checkout@v3
@@ -125,14 +115,17 @@ jobs:
125115
max_attempts: 3
126116
command: sudo xcodes runtimes install '${{ matrix.runtime }}'
127117

128-
- name: List Available Runtimes and Simulators
129-
run: xcrun simctl list
118+
- if: false
119+
name: '[Debug] List Available Runtimes, Simulators, and Destinations'
120+
run: |
121+
xcrun simctl list
122+
xcodebuild -scheme "Showcase" -showdestinations
130123
131124
- if: ${{ join(matrix.platform, ' ') != 'macos 11' }}
132125
name: Build Showcase
133126
run: fastlane build platform:${{ matrix.platform[0] }} version:${{ matrix.platform[1] }} scheme:Showcase
134127

135-
- if: ${{ join(matrix.platform, ' ') != 'ios 13' && join(matrix.platform, ' ') != 'tvos 13' && join(matrix.platform, ' ') != 'ios 17' && join(matrix.platform, ' ') != 'tvos 17' }}
128+
- if: ${{ join(matrix.platform, ' ') != 'ios 13' && join(matrix.platform, ' ') != 'tvos 13' && join(matrix.platform, ' ') != 'ios 17' && join(matrix.platform, ' ') != 'tvos 17' && matrix.platform[0] != 'visionos' }}
136129
name: Run Tests (Introspect)
137130
run: fastlane test platform:${{ matrix.platform[0] }} version:${{ matrix.platform[1] }} scheme:Introspect
138131

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ Changelog
33

44
## master
55

6+
- Added: visionOS support (#327)
7+
- Infrastructure: run CI tests on iOS & tvOS 17 (#323)
8+
69
## [0.10.0]
710

811
- Added: `SecureField` introspection (#317)

Examples/Showcase/Showcase.xcodeproj/project.pbxproj

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@
210210
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
211211
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
212212
TVOS_DEPLOYMENT_TARGET = 13.0;
213+
XROS_DEPLOYMENT_TARGET = 1.0;
213214
};
214215
name = Debug;
215216
};
@@ -269,6 +270,7 @@
269270
SWIFT_OPTIMIZATION_LEVEL = "-O";
270271
TVOS_DEPLOYMENT_TARGET = 13.0;
271272
VALIDATE_PRODUCT = YES;
273+
XROS_DEPLOYMENT_TARGET = 1.0;
272274
};
273275
name = Release;
274276
};
@@ -294,11 +296,13 @@
294296
MARKETING_VERSION = 1.0;
295297
PRODUCT_BUNDLE_IDENTIFIER = com.siteline.Showcase;
296298
PRODUCT_NAME = "$(TARGET_NAME)";
299+
SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx xros xrsimulator";
297300
SUPPORTS_MACCATALYST = YES;
298301
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
302+
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
299303
SWIFT_EMIT_LOC_STRINGS = YES;
300304
SWIFT_VERSION = 5.0;
301-
TARGETED_DEVICE_FAMILY = "1,2,3,6";
305+
TARGETED_DEVICE_FAMILY = "1,2,3,6,7";
302306
};
303307
name = Debug;
304308
};
@@ -324,11 +328,13 @@
324328
MARKETING_VERSION = 1.0;
325329
PRODUCT_BUNDLE_IDENTIFIER = com.siteline.Showcase;
326330
PRODUCT_NAME = "$(TARGET_NAME)";
331+
SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx xros xrsimulator";
327332
SUPPORTS_MACCATALYST = YES;
328333
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
334+
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
329335
SWIFT_EMIT_LOC_STRINGS = YES;
330336
SWIFT_VERSION = 5.0;
331-
TARGETED_DEVICE_FAMILY = "1,2,3,6";
337+
TARGETED_DEVICE_FAMILY = "1,2,3,6,7";
332338
};
333339
name = Release;
334340
};

Examples/Showcase/Showcase/App.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ final class AppDelegate: UIResponder, UIApplicationDelegate {
1313
return true
1414
}
1515
}
16-
#elseif os(macOS)
16+
#elseif os(macOS) || os(visionOS)
1717
@main
1818
struct App: SwiftUI.App {
1919
var body: some Scene {

0 commit comments

Comments
 (0)