Important
This project has moved. You can find it here.
The decision is based on this article.
Thanks to No GitHub for the badge used below.
Swift Language Bindings for WinUI
These projections contains the WinUI APIs which are part of the Windows App SDK, (i.e. Microsoft.UI.Xaml.*
). See official documentation for more information on these components:
Due to SPM limitations and the current state of swift-winrt, not all APIs can be generated as this causes export limit issues.
- Windows SDK:
10.0.18362.0
- Windows App SDK:
1.5-preview1
The bindings are generated from WinMD files, found in NuGet packages on Nuget.org. There are two key files which drive this:
- projections.json - this specifies the project/package and which apis to include in the projection
- generate-bindings.ps1 - this file reads both
packages.config
andprojections.json
and generates the appropriate bindings.
Please file any issues you have with this repository on https://github.com/thebrowsercompany/swift-winrt
-
Only x64 architecture is supported for now
-
The developer experience for consuming WinRT APIs from Swift is a work in progress. Due to current limitations, not all APIs can be generated as this causes export limit issues.
-
The APIs listed in projections.json are required for the other
swift-*
projects to build. Modify a projections.json in any one of those projects could require an update here.
In order to use WinUI, you need to download the Windows App SDK from here: https://aka.ms/windowsappsdk/1.5/1.5.240205001-preview1/windowsappruntimeinstall-x64.exe