Skip to content

[Feature] [All] Add visionOS device and Simulator slices - #78

Merged
Kyle-Ye merged 7 commits into
mainfrom
feature/visionos_device
Oct 17, 2026
Merged

Kyle-Ye merged 7 commits into
mainfrom
feature/visionos_device

Conversation

@Kyle-Ye

@Kyle-Ye Kyle-Ye commented Oct 17, 2026

Copy link
Copy Markdown
Member

Add visionOS support to the 2024 release frameworks, for both the visionOS Simulator and the device.

  • visionOS Simulator: add xros-arm64-x86_64-simulator slices for CoreSVG, SFSymbols, and FeatureFlags, generated with tapi stubify from the visionOS 2.5 Simulator runtime (22O473). Their exports match the iOS Simulator stubs. AttributeGraph, RenderBox, CoreUI, and BacklightServices already had this slice.
  • visionOS device: add xros-arm64-arm64e slices for AttributeGraph, RenderBox, CoreUI, BacklightServices, CoreSVG, SFSymbols, and FeatureFlags, generated from the dyld shared cache of the visionOS 2.5 (22O473) Apple Vision Pro firmware. The new Scripts/generate_device_tbd.sh extracts each framework with ipsw, writes its stub with tapi stubify, and adds the arm64 target next to the arm64e target of the cache. The device exports match the visionOS Simulator stubs. Unlike on iOS, the visionOS device AttributeGraph exports the Swift API, so its device slice ships the Swift module like the simulator slices.
  • Stub format: pass --no-compact to tapi stubify in the scripts, READMEs, and skills, so generated stubs use the indented layout of the committed files.
  • Docs: each framework README lists its visionOS stub sources, and the root README describes how to download the firmware and extract the cache with ipsw.
  • Example and CI: align the 2024 release examples with iOS 18.5, macOS 15.5, and visionOS 2.5, add visionOS to the CoreSVG, SFSymbols, and FeatureFlags examples, and build the examples for visionOS and the visionOS Simulator in CI on runners with the visionos-simulator-2.5 label.

Gestures is not included: neither the visionOS 2.5 Simulator runtime nor the device firmware contains it.

Verified with Xcode 26.6: the seven examples build for generic/platform=visionOS and generic/platform=visionOS Simulator, and a probe that imports all seven modules links for arm64-apple-xros and arm64e-apple-xros.

…eatureFlags

Generate the visionOS Simulator stubs with tapi stubify from the visionOS 2.5 Simulator runtime (22O473). Their exports match the iOS Simulator stubs. Add the slices to the xcframework templates and update scripts, generate the Swift interfaces for SFSymbols and FeatureFlags, and document the sources.
Pass --no-compact to tapi stubify in generate_tbd.sh, the framework READMEs, and the repository skills. The option writes the indented JSON layout that the committed tbd files use, so regenerated stubs no longer collapse onto one line.
Add xros-arm64-arm64e slices for AttributeGraph, RenderBox, CoreUI,
BacklightServices, CoreSVG, SFSymbols, and FeatureFlags. Generate their
stubs from the dyld shared cache of the visionOS 2.5 (22O473) Apple
Vision Pro firmware with the new Scripts/generate_device_tbd.sh, which
also adds the arm64 target next to the arm64e target of the cache.

The visionOS device AttributeGraph exports the Swift API, so its device
slice ships the Swift module like the simulator slices. Document how to
download the firmware and extract the cache with ipsw.
Use iOS 18.5, macOS 15.5, and visionOS 2.5 for the examples of the 2024 release frameworks. These versions match the systems that the 2024 release stubs come from.
…amples

Build the CoreSVG, SFSymbols, and FeatureFlags examples for visionOS now that these frameworks have visionOS slices. Update the Example README target table to the current target names and platforms.
Add visionOS and visionOS Simulator builds to the example workflows of the frameworks with visionOS slices. These rows run on runners with the visionos-simulator-2.5 label, which provides a visionOS Simulator runtime that matches the SDK.
@Kyle-Ye Kyle-Ye changed the title [Feature] Add visionOS device and Simulator slices [Feature] [All] Add visionOS device and Simulator slices Oct 17, 2026
@Kyle-Ye
Kyle-Ye merged commit 03cae58 into main Oct 17, 2026
37 checks passed
@Kyle-Ye
Kyle-Ye deleted the feature/visionos_device branch October 17, 2026 19:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant