Never switch modes manually again
Solace automates dark mode, wallpapers, and warmth.
What is Apple WeatherKit?
WeatherKit is the successor to the Dark Sky API, which Apple acquired in March 2020. When Apple bought Dark Sky, it eventually shut down the third-party API and replaced it with WeatherKit - a first-party framework integrated into Apple's own infrastructure, announced at WWDC 2022 and available from iOS 16 and macOS 13 onwards.
The acquisition of Dark Sky was significant because Dark Sky was widely regarded as the most accurate hyperlocal weather service available to developers - the same engine behind the Dark Sky app's reputation for precise, street-level precipitation forecasts. Apple folded this capability into WeatherKit along with data from multiple national and international meteorological services, producing a weather data source that now powers Apple's own Weather app on iPhone, iPad, and Mac.
WeatherKit is available in two forms. The WeatherKit Swift framework is available for native Apple platform apps and integrates directly via Xcode. The WeatherKit REST API allows server-side and cross-platform access. Both draw from the same underlying data pipeline. Solace uses the native Swift framework, which means the WeatherKit integration is as tightly coupled to the Apple platform as possible - no third-party intermediaries, no alternative server infrastructure.
Access to WeatherKit requires membership in the Apple Developer Program. This is deliberate: Apple uses developer attribution to enforce reasonable usage limits and prevent the service from being scraped at scale. It also means that every app using WeatherKit has been through Apple's notarisation process and is a known, identified developer entity.
What data does WeatherKit provide?
WeatherKit provides a comprehensive set of weather data at a given latitude and longitude. The full dataset includes:
- Current conditions: Temperature, apparent temperature, humidity, wind speed and direction, pressure, UV index, visibility, and a condition code describing the current sky state.
- Hourly forecast: The same data points projected forward hour by hour for up to 10 days.
- Daily forecast: High and low temperatures, precipitation probability, sunrise and sunset times, moon phase, and daily condition summary.
- Minute-by-minute precipitation: Highly localised precipitation intensity for the next hour, updated frequently.
- Weather alerts: Government-issued weather warnings for the user's location.
For Solace's weather-aware dark mode, only one piece of this data decides the day: the forecast cloud cover at your location, averaged across the daytime hours. Solace compares that percentage with the level you choose:
| Level | Day's average cloud cover | Appearance in Solace |
|---|---|---|
| Cloudy | 50% or more | Dark mode for the whole day |
| Overcast (the default) | 70% or more | Dark mode for the whole day |
| Gloomy | 90% or more | Dark mode for the whole day |
| Any level | Below the level you chose | Light mode until sunset |
One app for your Mac's whole look
Dark mode, wallpapers, warmth, and weather, together.
The decision uses cloud cover only, not WeatherKit's condition codes, so there is no way to pick individual conditions such as rain, snow, fog or storms. The level is the one setting you tune: Cloudy reacts to more days, Gloomy only to the greyest. Changing the level, or turning weather mode on, re-decides today straight away.
How Solace uses WeatherKit
You turn weather mode on with the switch on the Weather card in Solace's menu bar panel. Once each morning, on its first weather check after sunrise, Solace asks WeatherKit for the day's forecast cloud cover and makes one decision for the day. While weather mode is on, Solace also refreshes the Weather card (cloud, rain and UV) about once an hour. That refresh only updates the card. It never changes the mode.
If the day's average cloud cover is at or above your chosen level, your Mac stays in dark mode for the whole day. If not, it stays in light mode until sunset. It does not switch back and forth during the day, and it does not switch back to light when the sky clears. After sunset, the normal evening dark mode applies as usual. A notification tells you the day's decision, with a Keep Light button that keeps your Mac light for the day.
The decision logic lives entirely on the device. Solace does not send the forecast to a server for evaluation. It does not log which conditions triggered which switches. The entire processing chain - receive the forecast, compare it with your level, apply appearance - happens locally on your Mac.
Your Mac sends your location to Apple's WeatherKit servers. Apple returns the forecast. Solace reads the cloud cover locally and decides whether to switch appearance. Nothing passes through Solace's infrastructure at any point.
Privacy considerations for weather-aware dark mode
The privacy story for WeatherKit-based weather-aware switching is meaningfully different from a weather API that routes through a third-party server.
When Solace requests weather from WeatherKit, the request goes from your Mac directly to Apple's weather infrastructure. Apple processes the location to retrieve relevant conditions and returns the response. Apple's WeatherKit privacy documentation states that requests are not associated with your Apple ID and that Apple does not build a profile from weather requests.
This is the same data flow as using Apple's own Weather app. If you check the weather in the native macOS Weather app, your location is sent to Apple's servers, conditions are returned, and Apple processes the request under the same terms. Weather-aware dark mode in Solace adds no additional data exposure beyond what you accept when you use any system weather feature.
Solace itself receives no location data, no condition data, and no usage data from the WeatherKit integration. The app processes everything locally. If you grant Solace location permission and it uses that to check weather, the permission enables communication between your device and Apple's servers only - Solace's servers are not part of that communication.
Location permission is required because WeatherKit needs a position to retrieve relevant conditions. This is equivalent to the permission any weather app requests. If you are already granting location access to a weather widget, a weather app, or Apple's own Weather app, the marginal privacy change of adding Solace's weather switching is zero.
Is WeatherKit accurate enough for appearance switching?
The accuracy question is worth addressing directly because some users wonder whether a weather API is precise enough to drive a UI decision.
For the purpose of distinguishing "the sky is delivering meaningful light" from "the sky is substantially obscured," WeatherKit's accuracy is more than sufficient. The decision rests on one figure, the day's average cloud cover, compared with a level you choose: 50%, 70% or 90%. It asks whether the day as a whole is broadly bright or broadly grey. This is exactly the kind of classification that modern weather services handle reliably.
WeatherKit draws on data from national meteorological agencies, proprietary modelling, and the Dark Sky pipeline Apple inherited with the acquisition. The current-conditions endpoint is updated frequently - typically every few minutes for current conditions at a given location. Solace does not react to the sky at a single moment. It averages the forecast cloud cover across the daytime hours and decides once each morning, so a passing cloud cannot trigger a switch.
Put simply: WeatherKit is at least as accurate as looking at the weather yourself before deciding whether to manually switch. The difference is that Solace automates the decision you would make by looking out the window.
What happens when there is no internet connection?
When your Mac has no internet access, WeatherKit cannot complete a request and Solace cannot receive the forecast. In this case, Solace tries again a few times, a minute apart. If the forecast still cannot be fetched, Solace follows the time of day. It does not switch randomly.
If you have a dark mode schedule configured alongside weather switching in Solace, the schedule continues to operate normally. Schedules are calculated locally using the system clock and require no network access. So if you are on an aircraft in airplane mode and your schedule says dark mode should be active, it will be - regardless of whether WeatherKit is reachable.
When connectivity resumes, Solace picks up the weather again by itself. There is no manual step required to re-enable weather switching after a period offline.
Solace - $9.99, yours forever
Automate your Mac's appearance with weather-aware switching, custom scheduling, and colour temperature control. One-time purchase, no analytics or tracking.
Try every feature free for 14 days, then $9.99 once.