Swift Language Bindings for UWP APIs
These APIs are intendened to be used in conjuction with the following projects:
These projections contains a subset of APIs as part of the UWP platform. The list of full namespaces is available here for reference: https://learn.microsoft.com/en-us/uwp/api/
Currently, these APIs are targeted towards the 10.0.18362.0 SDK of Windows, as this is the minimum version that the Windows App SDK supports.
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/packages and which apis to include in the projection
- generate-bindings.ps1 - this file reads
projections.json
and generates the appropriate bindings.
Please file any issues you have with this repository on https://github.com/thebrowsercompany/swift-winrt
-
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.