Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thebrowsercompany/swift-uwp
Swift Language Bindings for UWP APIs
https://github.com/thebrowsercompany/swift-uwp
Last synced: 13 days ago
JSON representation
Swift Language Bindings for UWP APIs
- Host: GitHub
- URL: https://github.com/thebrowsercompany/swift-uwp
- Owner: thebrowsercompany
- License: bsd-3-clause
- Created: 2024-02-14T02:09:44.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-02-16T01:14:58.000Z (9 months ago)
- Last Synced: 2024-07-26T14:35:19.628Z (4 months ago)
- Language: Swift
- Size: 684 KB
- Stars: 5
- Watchers: 6
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# swift-uwp
Swift Language Bindings for UWP APIsThese APIs are intendened to be used in conjuction with the following projects:
- [swift-winui](https://github.com/thebrowsercompany/swift-winui)
- [swift-windowsappsdk](https://github.com/thebrowsercompany/swift-windowsappsdk)
- [swift-win2d](https://github.com/thebrowsercompany/swift-win2d)## APIs
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/### SDK Version
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.## Project Configuration
The bindings are generated from WinMD files, found in NuGet packages on Nuget.org. There are two key files which drive this:
1. projections.json - this specifies the project/packages and which apis to include in the projection
2. generate-bindings.ps1 - this file reads `projections.json` and generates the appropriate bindings.## Filing Issues
Please file any issues you have with this repository on https://github.com/thebrowsercompany/swift-winrt
## Known Issues and Limitations
- 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.