SwiftBindings.Apple.WeatherKit
26.2.6
dotnet add package SwiftBindings.Apple.WeatherKit --version 26.2.6
NuGet\Install-Package SwiftBindings.Apple.WeatherKit -Version 26.2.6
<PackageReference Include="SwiftBindings.Apple.WeatherKit" Version="26.2.6" />
<PackageVersion Include="SwiftBindings.Apple.WeatherKit" Version="26.2.6" />
<PackageReference Include="SwiftBindings.Apple.WeatherKit" />
paket add SwiftBindings.Apple.WeatherKit --version 26.2.6
#r "nuget: SwiftBindings.Apple.WeatherKit, 26.2.6"
#:package SwiftBindings.Apple.WeatherKit@26.2.6
#addin nuget:?package=SwiftBindings.Apple.WeatherKit&version=26.2.6
#tool nuget:?package=SwiftBindings.Apple.WeatherKit&version=26.2.6
SwiftBindings.Apple.WeatherKit
Native .NET bindings for Apple's WeatherKit framework — current conditions, hourly and daily forecasts, severe-weather alerts, and historical data. These are not Objective-C proxy wrappers; they use .NET 10's native Swift interop for direct, high-performance calls into Swift APIs from C#.
📖 Full usage guide → — the complete fetch path (
WeatherService→Weather→ current/hourly/daily forecasts), readingMeasurement<T>values, conditions/precipitation/wind/UV/moon enums, alerts, attribution, and the APIs that aren't bound yet.
Installation
dotnet add package SwiftBindings.Apple.WeatherKit
Requirements
- .NET 10.0+
- iOS 26.2+, macOS 26.2+, Mac Catalyst 26.2+, tvOS 26.2+
- macOS host for development
- WeatherKit capability enabled and a paid Apple Developer Program membership (WeatherKit usage is metered and requires entitlement)
Usage
using WeatherKit;
var service = WeatherService.Shared;
// Get current attribution (logo + URL link required by Apple's terms)
var attribution = await service.GetAttributionAsync();
// Localised condition / phase descriptions
var phase = MoonPhase.Full.GetDescription();
var direction = Wind.CompassDirectionType.North.GetDescription();
Iterating a forecast
Forecast<T> projects to IReadOnlyList<T>, so the standard C# enumeration shape just works:
// `weather` is an instance returned by WeatherService.GetWeatherAsync(...)
foreach (var hour in weather.HourlyForecast)
{
Console.WriteLine($"{hour.Date}: {hour.Temperature}");
}
var firstDay = weather.DailyForecast[0];
var dayCount = weather.DailyForecast.Count;
Documentation
- Usage guide (wiki) — full C# walkthrough of the binding surface
- Apple WeatherKit framework
How It Works
These bindings are auto-generated by Swift Dotnet Bindings using .NET 10's native Swift interop via the SwiftBindings SDK.
License
The bindings are MIT licensed. WeatherKit is part of the Apple SDK; refer to Apple's licensing for the underlying framework.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-ios26.2 is compatible. net10.0-maccatalyst26.2 is compatible. net10.0-macos26.2 is compatible. net10.0-tvos26.2 is compatible. |
-
net10.0-ios26.2
- SwiftBindings.Apple (>= 26.2.6)
- SwiftBindings.Runtime (>= 0.14.0 && < 0.15.0)
-
net10.0-maccatalyst26.2
- SwiftBindings.Apple (>= 26.2.6)
- SwiftBindings.Runtime (>= 0.14.0 && < 0.15.0)
-
net10.0-macos26.2
- SwiftBindings.Apple (>= 26.2.6)
- SwiftBindings.Runtime (>= 0.14.0 && < 0.15.0)
-
net10.0-tvos26.2
- SwiftBindings.Apple (>= 26.2.6)
- SwiftBindings.Runtime (>= 0.14.0 && < 0.15.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.