WeatherKit

RSS for tag

Bring weather information to your apps and services through a wide range of data that can help people stay up to date, safe, and prepared.

Posts under WeatherKit tag

44 Posts

Post

Replies

Boosts

Views

Activity

WeatherKit - conditionCode rules
Hello, We’re using the Apple WeatherKit API in our application and would like to better understand how the conditionCode field is determined in the hourly data. In particular, we have encountered cases where both rain and strong winds occurred within the same hour, but the conditionCode returned was related to wind (e.g. windy), even though rain was present and more relevant to our use case. Could you please clarify: What is the logic or prioritization used by WeatherKit when selecting the conditionCode for an hourly period that includes multiple weather events? Is rain ever prioritized over wind in this field? If so, under what conditions? Since precipitation has more impact for our analyses and decision-making than wind, understanding how this field is computed is important for us. Thank you in advance for your help. Best regards,
0
0
167
Aug ’25
WeatherKit enhancement request (provide AQI information)
Please refer to Feedback Assistant ID FB18967784 1.In which locations you would like to see air quality. [Ans] Base on user's location information(GPS). 2.What air quality data you would like to see: pollutant concentrations, official air quality scales used in each country, health information related to air quality, etc. [Ans] Official air quality scales used in each country. Generally calculated from O3, PM2.5, PM10, CO, SO2, NO2. 3.If possible, how you would like to use air quality information. This can help us ensure the right data is available to best support your use. [Ans] Please refer to the screenshot. I plan to add AQI to this screen. It's a screenshot in the development stage. Thank you!
3
0
250
Aug ’25
WeatherKit "Availability and pricing" section question.
In Availability and pricing section, there's a 500,000 API calls a month per Apple Developer Program membership limitation. Is this just to limit the number of calls for developer in development stage? After the app is uploaded to App store, users download and start to use this app. Will Weather API calls of general App users be included in 500,000 API calls? Thanks.
1
0
282
Jul ’25
Apple WeatherKit on macOS
Hi all, I have WeatherKit working on iOS and watchOS, but am having problems getting it to work on macOS. I have all entitlements enabled and everything seems to checkout, but I get the following error: "WARNING: error = 3→(76) INVALID_PERSONA; It is undefined behavior to look up a container with a persona other than personal or data separated. Please adopt a persona first. Assuming personal. given persona = (<MCMUserIdentity: 0xb3d0288c0; posixUser = (501|20|danuff|/Users/danuff), identifier = 501, personaType = unspecific, personaUniqueString = E90578C5-AAE4-44DD-9E41-CC3F97B34F0C, kernelPersonaID = 1001>) Message from debugger: killed Any ideas?
2
1
442
Jul ’25
Unexpected timezone issues
Hi, my server in Melbourne Australia is getting weather forecasts from a few places around Australia. When I look at the daily timesteps that I get back, they might be something like this: "days": [ { "forecastStart": "2025-06-25T00:00:00Z", "forecastEnd": "2025-06-26T00:00:00Z", "daytimeForecast": { "forecastStart": "2025-06-25T07:00:00Z", "forecastEnd": "2025-06-25T19:00:00Z", "overnightForecast": { "forecastStart": "2025-06-25T19:00:00Z", "forecastEnd": "2025-06-26T07:00:00Z",} It doesn't matter where I ask for - Melbourne, Darwin, Perth, it always comes back the same. The documentation says that daytimeForecast is 7 am to 7 pm local and overnightForecast is 7pm to 7 am local. However, in a place like Perth 7-19Z is 3 pm to 3 am, not 7 pm to 7 am like advertised. I can see that for any given date, there are 3 maximum temperature forecasts, a 24 hour max, a daytime max and an overnight max and they differ from each other. Can anyone help me understand what's happening here? And furthermore in the example above, the 24 hour forecasts that have, for example this: "forecastStart": "2025-06-25T00:00:00Z" ... Can the 00:00:00Z be trusted literally? Or is it more the case that it's "2025-06-25" but the HMS got tacked on in a conversion?
3
0
132
Jul ’25
Remove WeatherKit from existing app
One of my apps includes a free weather forecast using WeatherKit. Recently, it started to get more downloads and almost reached the limits of the free tier. I've removed the forecast in newer versions but there's still a substantial amount of users who do not update their apps. Is it possible to somehow remove the capability from existing apps? Thank you!
1
0
133
Jun ’25
WeatherKit failing on JWT Error
My app AirCompare has been in the app store and successfully using WeatherKit to fetch weather since it became available. Now some (not all) users are encountering the following errors: Failed to generate jwt token for: com.apple.weatherkit.authservice with error: Error Domain=WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors Code=2 "(null)" Encountered an error when fetching weather data subset; location=<+42.40865786,-88.96911526> +/- 0.00m (speed -1.00 mps / course -1.00) @ 6/23/25, 2:56:47 PM Central Daylight Time, error=WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors 2 Error Domain=WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors Code=2 "(null)" Others are reporting this same problem here in the forums. We need a solution!
5
4
316
Jun ’25
JWT Token Errors
I have an app using weatherkit and its currently live and up on the app store, recently I had some users report to me that they had been receiving errors loading weather data, I had error handling built in and it reported an issue with apples authentication server Failed to generate jwt token for: com.apple.weatherkit.authservice with error: Error Domain=WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors Code=2 "(null)" I have not come across this during the development lifecycle of my project, there where no codebase changes, it just stopped functioning. The app entitlements are valid and correct, Weatherkit is enabled in both xcode and across my Certs, identifiers and profiles. I was not experiencing this issue until I reinstalled the app from the app store completly by first removing it and then re-installing fresh. Hard reboots do not help and I do not want to start suggesting to my users to factory reset their devices. We are using WeatherKit in both our main app and widget, relying entirely on Apple’s framework for authentication and token management. We do not generate or inject our own JWT tokens; all token handling is managed by WeatherKit. We have implemented a debug menu with the following actions: Clear WeatherKit JWT tokens from the keychain Clear all related UserDefaults key Clear all app group data and all UserDefaults. Perform a “nuclear” cache clear (removes all app data, keychain, and cached files). We log all WeatherKit fetch attempts and failures, including authentication errors, both in the app and widget and get nothing but code 2. We have attempted all of the above steps, but continue to experience issues with WeatherKit JWT authentication We would appreciate any guidance or insight into what else could be causing persistent WeatherKit JWT/authentication issues, or if there are any additional steps we should try. P.S. - Tested and experiencing the same issues on an iPhone 15 Pro Max and iPhone 15 The Pro Max is on the iOS 26 Beta // and the 15 is on the latest iOS 18
5
5
308
Jun ’25
WeatherKit JWT Auth error for SOME customer devices
We have a subscription WeatherKit app which has been on the App Store since December 2023. I am getting intermittent JWT auth failures on customer devices. In the great majority of cases, the request succeeds, but sometimes it fails, and sometimes it fails and never recovers. I’m working with a customer right now who is unable to get any weather data at all, and the logs he sends me show WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors error 2 The app uses the WeatherKit SDK (we are not using the REST API directly). We know we have the project setup as it has been working since launch, and I can verify weatherkit using security cms -D -i embedded.mobileprovision It it not a problem with the specific query, since I can get data for the dates and locations they are requesting. I can’t replicate the problem on my test devices. In case there is a rate limit issue: this app is a bit unusual and downloads an unusual amount of data at once using multiple queries in parallel using a TaskGroup. When the user creates a location, the app downloads a 10 day block of weather (7 days in the past + 3 day forecast) using WeatherService.shared.weather( for: location, including: WeatherQuery.daily( startDate: startDate, endDate: endDate ), WeatherQuery.hourly( startDate: startDate, endDate: endDate ) ) It also downloads about 2 months of daily precipitation data using multiple parallel calls to dailySummary in 10 day blocks: WeatherService.shared.dailySummary( for: location, forDaysIn: DateInterval(start: startDate, end: endDate), including: .precipitation ) In almost every case, including on my test devices, this works. But some users get WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors error 2 on every request. The two users yesterday that had this problem were both on iOS 18.5 for what that's worth, though the app supports 17.2+ Is anyone else seeing this? And can anyone suggest anything else to explore? It's obviously a terrible experience for customers who pay for the service and are unable to get any data. I did submit this info to Apple as FB18276275
5
6
353
Jun ’25
WeatherKit suddenly returning JWT errors - no changes
All of my apps stopped working with WeatherKit this morning. They all return an "Error Domain=WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors Code=2" error. I am certain that the WeatherKit capability added (in project) and enabled as a Capability & App Service (on developer portal for the identifier). All other iCloud features of my apps are working as expected. I have also done all the normal troubleshooting using codesign / security cms, etc. to verify entitlements. I created the following simple project to verify the integration. import WeatherKit import CoreLocation struct ContentView: View { @State private var temp: Measurement<UnitTemperature>? = nil var body: some View { VStack { if let t = temp { Text("\(t.value.rounded())°\(t.unit.symbol)") } else { Text("Fetching…") .task { let service = WeatherService() do { let location = CLLocation(latitude: 50.318668, longitude: -114.917710) let weather = try await service.weather(for: location, including: .current) temp = weather.temperature } catch { print("Error:", error) } } } } } } Any ideas what may be happening?
8
4
256
Jun ’25
WeatherKit API inaccessible for some users
Hi All, I’m puzzled by this issue: my app uses WeatherKit to fetch hourly UV-index and temperature forecasts. The same build, running on the latest iOS, succeeds on most devices but consistently fails on a few. Strangely, the paired Apple Watch version retrieves the data without problems. Could WeatherKit be applying per-user throttling? Any insight would be greatly appreciated.
4
2
204
Jun ’25
WidgetKit WidgetConfigurationIntent Parameter Icons
In WatchOS 26 you can now configure Apple Watch Widgets that use AppIntents instead of having a preconfigured option via AppIntentRecommendation. This is demonstrated in the Weather Details Widget. In that, the Intent has been set up such that the options have icons for each parameter. How can I update my Intent code to offer this? struct DataPointsWidgetIntent: AppIntent, WidgetConfigurationIntent { static var title: LocalizedStringResource = "Data Points Widget Configuration" static var description = IntentDescription("Configure the individual data point display for Widgets.") static var isDiscoverable: Bool { return false} init() {} func perform() async throws -> some IntentResult { print("DataPointsWidgetIntent perform") return .result() } @Parameter(title: "Show Individual Data Points", default: true) var showDataPoints: Bool? @Parameter(title: "Trend Timescale", default: .week) var timescale: TimescaleTypeAppEnum? static var parameterSummary: some ParameterSummary { Summary("Test Info") { \.$showDataPoints \.$timescale } } } enum TimescaleTypeAppEnum: String, AppEnum { case week case fortnight static var typeDisplayRepresentation = TypeDisplayRepresentation(name: "Trend Timescale") static var caseDisplayRepresentations: [Self: DisplayRepresentation] = [ .week: "Past Week", .fortnight: "Past Fortnight" ] }
1
1
175
Jun ’25
UV Index hourly forecast instability
I pull an hourly UV index forecast in my app via WeatherKit, but I’ve noticed it flips back and forth between two "stable" forecasts throughout the day, as if the data source is switching between providers, as a result giving a sense of instability in the presented forecast. Is there any way to lock or specify a single forecast source for greater consistency? I have a feature that notifies users when the UV index crosses a set threshold, but these repeated “back-and-forth” changes trigger multiple alerts that feel spammy and unreliable. Any advice or best practices for handling this would be greatly appreciated.
1
0
157
Jun ’25
WeatherKit JWT fails (WDSJWTAuthenticatorServiceListener Code 2) despite entitlement
I’m hitting a WeatherKit JWT failure (WDSJWTAuthenticatorServiceListener Code = 2) at runtime even though the entitlement is present in both the signed binary and the embedded provisioning profile. Environment Team ID 5SZLQLQ9MD Bundle ID ParkProfessor.ParkProfessorDisneyland Device / OS iPhone 15 Pro · iOS 17.4.1 (hardware, not simulator) Xcode 15.3 (15E204a) Console output Failed to generate jwt token for: com.apple.weatherkit.authservice Error Domain=WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors Code=2 "(null)" Entitlement & profile snippets codesign -d --entitlements :- WeatherKitTest.app | grep -A2 weatherkit com.apple.developer.weatherkit security cms -D -i embedded.mobileprovision | grep -A2 weatherkit com.apple.developer.weatherkit What I’ve already tried Regenerated a new development certificate and a new iOS App Development provisioning profile with WeatherKit enabled. Confirmed the capability is selected in Certificates ▸ Identifiers ▸ Profiles and added in Xcode target settings. WeatherKit Terms of Service accepted in the portal. Deleted the app, removed any device management profiles, rebooted the phone, clean-built & ran again. Reproduced the issue in a minimal SwiftUI app that calls: WeatherService.shared.weather(for: CLLocation(latitude: 33.8121, longitude: -117.9190), including: .current) – same Code 2 error. Request It looks like the App ID may need a backend entitlement sync. Could someone from the WeatherKit team please check the status for Team 5SZLQLQ9MD, Bundle ID ParkProfessor.ParkProfessorDisneyland and enable WeatherKit token generation? Thanks!
3
4
293
Jun ’25
WeatherKit DayWeather::date Timezone Issue
I use WeatherKit with Swift to get multiple cities weather by longitude and latitude. But I use this API in WeatherService for daily forecast: final public func weather<T>(for location: CLLocation, including dataSet: WeatherQuery<T>) async throws -> T And I found there is something wired: The date of WeatherKit::DayWeather is based on my device's timezone settings. Tokyo's Day Weather is start at UTC+8, New York' Day Weather is start UTC+8. Is there any way to set timezone correctly?
0
1
141
Apr ’25
Weatherkit API Historical 404 Errors Starting 3/5/25
We've been using the WeatherKit API for a few years now. Everything has been pretty stable. We'll periodically get 404 errors, but they usually disappear within a couple days. Starting March 5th we've again been getting 404 errors that slowly ramped up to March 20th and continued. We have had no code changes on our end, so something seems to have changed / broken on the server side of things. Here are some example API calls that are giving us a 404 error now https://weatherkit.apple.com/api/v1/weather/en/35.9981205/-78.8920444?dataSets=forecastDaily&dailyStart=2025-03-21T05:00:00Z&timezone=America/New_York&countryCode=US https://weatherkit.apple.com/api/v1/weather/en/41.4789363/-81.7404134?dataSets=forecastDaily&dailyStart=2025-03-21T04:56:00Z&timezone=America/New_York&countryCode=US Does anyone have any insights or information on this? Also if Apple is listening, an error more meaningful than 404 would be much much appreciated.
0
0
108
Apr ’25
question about weatherkit
Why can't Weatherkit return the corresponding language's ConditionCode based on Langular
Replies
1
Boosts
0
Views
164
Activity
Aug ’25
WeatherKit - conditionCode rules
Hello, We’re using the Apple WeatherKit API in our application and would like to better understand how the conditionCode field is determined in the hourly data. In particular, we have encountered cases where both rain and strong winds occurred within the same hour, but the conditionCode returned was related to wind (e.g. windy), even though rain was present and more relevant to our use case. Could you please clarify: What is the logic or prioritization used by WeatherKit when selecting the conditionCode for an hourly period that includes multiple weather events? Is rain ever prioritized over wind in this field? If so, under what conditions? Since precipitation has more impact for our analyses and decision-making than wind, understanding how this field is computed is important for us. Thank you in advance for your help. Best regards,
Replies
0
Boosts
0
Views
167
Activity
Aug ’25
WeatherKit enhancement request (provide AQI information)
Please refer to Feedback Assistant ID FB18967784 1.In which locations you would like to see air quality. [Ans] Base on user's location information(GPS). 2.What air quality data you would like to see: pollutant concentrations, official air quality scales used in each country, health information related to air quality, etc. [Ans] Official air quality scales used in each country. Generally calculated from O3, PM2.5, PM10, CO, SO2, NO2. 3.If possible, how you would like to use air quality information. This can help us ensure the right data is available to best support your use. [Ans] Please refer to the screenshot. I plan to add AQI to this screen. It's a screenshot in the development stage. Thank you!
Replies
3
Boosts
0
Views
250
Activity
Aug ’25
About AQI information.
Does WeatherKit provide any AQI(Air Quality index) information? Thank you.
Replies
1
Boosts
1
Views
344
Activity
Jul ’25
WeatherKit "Availability and pricing" section question.
In Availability and pricing section, there's a 500,000 API calls a month per Apple Developer Program membership limitation. Is this just to limit the number of calls for developer in development stage? After the app is uploaded to App store, users download and start to use this app. Will Weather API calls of general App users be included in 500,000 API calls? Thanks.
Replies
1
Boosts
0
Views
282
Activity
Jul ’25
Apple WeatherKit on macOS
Hi all, I have WeatherKit working on iOS and watchOS, but am having problems getting it to work on macOS. I have all entitlements enabled and everything seems to checkout, but I get the following error: "WARNING: error = 3→(76) INVALID_PERSONA; It is undefined behavior to look up a container with a persona other than personal or data separated. Please adopt a persona first. Assuming personal. given persona = (<MCMUserIdentity: 0xb3d0288c0; posixUser = (501|20|danuff|/Users/danuff), identifier = 501, personaType = unspecific, personaUniqueString = E90578C5-AAE4-44DD-9E41-CC3F97B34F0C, kernelPersonaID = 1001>) Message from debugger: killed Any ideas?
Replies
2
Boosts
1
Views
442
Activity
Jul ’25
Unexpected timezone issues
Hi, my server in Melbourne Australia is getting weather forecasts from a few places around Australia. When I look at the daily timesteps that I get back, they might be something like this: "days": [ { "forecastStart": "2025-06-25T00:00:00Z", "forecastEnd": "2025-06-26T00:00:00Z", "daytimeForecast": { "forecastStart": "2025-06-25T07:00:00Z", "forecastEnd": "2025-06-25T19:00:00Z", "overnightForecast": { "forecastStart": "2025-06-25T19:00:00Z", "forecastEnd": "2025-06-26T07:00:00Z",} It doesn't matter where I ask for - Melbourne, Darwin, Perth, it always comes back the same. The documentation says that daytimeForecast is 7 am to 7 pm local and overnightForecast is 7pm to 7 am local. However, in a place like Perth 7-19Z is 3 pm to 3 am, not 7 pm to 7 am like advertised. I can see that for any given date, there are 3 maximum temperature forecasts, a 24 hour max, a daytime max and an overnight max and they differ from each other. Can anyone help me understand what's happening here? And furthermore in the example above, the 24 hour forecasts that have, for example this: "forecastStart": "2025-06-25T00:00:00Z" ... Can the 00:00:00Z be trusted literally? Or is it more the case that it's "2025-06-25" but the HMS got tacked on in a conversion?
Replies
3
Boosts
0
Views
132
Activity
Jul ’25
Remove WeatherKit from existing app
One of my apps includes a free weather forecast using WeatherKit. Recently, it started to get more downloads and almost reached the limits of the free tier. I've removed the forecast in newer versions but there's still a substantial amount of users who do not update their apps. Is it possible to somehow remove the capability from existing apps? Thank you!
Replies
1
Boosts
0
Views
133
Activity
Jun ’25
WeatherKit failing on JWT Error
My app AirCompare has been in the app store and successfully using WeatherKit to fetch weather since it became available. Now some (not all) users are encountering the following errors: Failed to generate jwt token for: com.apple.weatherkit.authservice with error: Error Domain=WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors Code=2 "(null)" Encountered an error when fetching weather data subset; location=<+42.40865786,-88.96911526> +/- 0.00m (speed -1.00 mps / course -1.00) @ 6/23/25, 2:56:47 PM Central Daylight Time, error=WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors 2 Error Domain=WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors Code=2 "(null)" Others are reporting this same problem here in the forums. We need a solution!
Replies
5
Boosts
4
Views
316
Activity
Jun ’25
JWT Token Errors
I have an app using weatherkit and its currently live and up on the app store, recently I had some users report to me that they had been receiving errors loading weather data, I had error handling built in and it reported an issue with apples authentication server Failed to generate jwt token for: com.apple.weatherkit.authservice with error: Error Domain=WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors Code=2 "(null)" I have not come across this during the development lifecycle of my project, there where no codebase changes, it just stopped functioning. The app entitlements are valid and correct, Weatherkit is enabled in both xcode and across my Certs, identifiers and profiles. I was not experiencing this issue until I reinstalled the app from the app store completly by first removing it and then re-installing fresh. Hard reboots do not help and I do not want to start suggesting to my users to factory reset their devices. We are using WeatherKit in both our main app and widget, relying entirely on Apple’s framework for authentication and token management. We do not generate or inject our own JWT tokens; all token handling is managed by WeatherKit. We have implemented a debug menu with the following actions: Clear WeatherKit JWT tokens from the keychain Clear all related UserDefaults key Clear all app group data and all UserDefaults. Perform a “nuclear” cache clear (removes all app data, keychain, and cached files). We log all WeatherKit fetch attempts and failures, including authentication errors, both in the app and widget and get nothing but code 2. We have attempted all of the above steps, but continue to experience issues with WeatherKit JWT authentication We would appreciate any guidance or insight into what else could be causing persistent WeatherKit JWT/authentication issues, or if there are any additional steps we should try. P.S. - Tested and experiencing the same issues on an iPhone 15 Pro Max and iPhone 15 The Pro Max is on the iOS 26 Beta // and the 15 is on the latest iOS 18
Replies
5
Boosts
5
Views
308
Activity
Jun ’25
WeatherKit JWT Auth error for SOME customer devices
We have a subscription WeatherKit app which has been on the App Store since December 2023. I am getting intermittent JWT auth failures on customer devices. In the great majority of cases, the request succeeds, but sometimes it fails, and sometimes it fails and never recovers. I’m working with a customer right now who is unable to get any weather data at all, and the logs he sends me show WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors error 2 The app uses the WeatherKit SDK (we are not using the REST API directly). We know we have the project setup as it has been working since launch, and I can verify weatherkit using security cms -D -i embedded.mobileprovision It it not a problem with the specific query, since I can get data for the dates and locations they are requesting. I can’t replicate the problem on my test devices. In case there is a rate limit issue: this app is a bit unusual and downloads an unusual amount of data at once using multiple queries in parallel using a TaskGroup. When the user creates a location, the app downloads a 10 day block of weather (7 days in the past + 3 day forecast) using WeatherService.shared.weather( for: location, including: WeatherQuery.daily( startDate: startDate, endDate: endDate ), WeatherQuery.hourly( startDate: startDate, endDate: endDate ) ) It also downloads about 2 months of daily precipitation data using multiple parallel calls to dailySummary in 10 day blocks: WeatherService.shared.dailySummary( for: location, forDaysIn: DateInterval(start: startDate, end: endDate), including: .precipitation ) In almost every case, including on my test devices, this works. But some users get WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors error 2 on every request. The two users yesterday that had this problem were both on iOS 18.5 for what that's worth, though the app supports 17.2+ Is anyone else seeing this? And can anyone suggest anything else to explore? It's obviously a terrible experience for customers who pay for the service and are unable to get any data. I did submit this info to Apple as FB18276275
Replies
5
Boosts
6
Views
353
Activity
Jun ’25
WeatherKit WeatherAlerts
Is there a list of countries that are currently supported by WeatherKit's WeatherAlerts?
Replies
0
Boosts
0
Views
95
Activity
Jun ’25
WeatherKit Acknowledgement in App
Hi, My app is going to consist of 2-3 pages of weather data. Do I have to add the Apple Weather logo to each page, or just the main one? Thanks, Dan Uff
Replies
0
Boosts
0
Views
106
Activity
Jun ’25
WeatherKit suddenly returning JWT errors - no changes
All of my apps stopped working with WeatherKit this morning. They all return an "Error Domain=WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors Code=2" error. I am certain that the WeatherKit capability added (in project) and enabled as a Capability & App Service (on developer portal for the identifier). All other iCloud features of my apps are working as expected. I have also done all the normal troubleshooting using codesign / security cms, etc. to verify entitlements. I created the following simple project to verify the integration. import WeatherKit import CoreLocation struct ContentView: View { @State private var temp: Measurement<UnitTemperature>? = nil var body: some View { VStack { if let t = temp { Text("\(t.value.rounded())°\(t.unit.symbol)") } else { Text("Fetching…") .task { let service = WeatherService() do { let location = CLLocation(latitude: 50.318668, longitude: -114.917710) let weather = try await service.weather(for: location, including: .current) temp = weather.temperature } catch { print("Error:", error) } } } } } } Any ideas what may be happening?
Replies
8
Boosts
4
Views
256
Activity
Jun ’25
WeatherKit API inaccessible for some users
Hi All, I’m puzzled by this issue: my app uses WeatherKit to fetch hourly UV-index and temperature forecasts. The same build, running on the latest iOS, succeeds on most devices but consistently fails on a few. Strangely, the paired Apple Watch version retrieves the data without problems. Could WeatherKit be applying per-user throttling? Any insight would be greatly appreciated.
Replies
4
Boosts
2
Views
204
Activity
Jun ’25
WidgetKit WidgetConfigurationIntent Parameter Icons
In WatchOS 26 you can now configure Apple Watch Widgets that use AppIntents instead of having a preconfigured option via AppIntentRecommendation. This is demonstrated in the Weather Details Widget. In that, the Intent has been set up such that the options have icons for each parameter. How can I update my Intent code to offer this? struct DataPointsWidgetIntent: AppIntent, WidgetConfigurationIntent { static var title: LocalizedStringResource = "Data Points Widget Configuration" static var description = IntentDescription("Configure the individual data point display for Widgets.") static var isDiscoverable: Bool { return false} init() {} func perform() async throws -> some IntentResult { print("DataPointsWidgetIntent perform") return .result() } @Parameter(title: "Show Individual Data Points", default: true) var showDataPoints: Bool? @Parameter(title: "Trend Timescale", default: .week) var timescale: TimescaleTypeAppEnum? static var parameterSummary: some ParameterSummary { Summary("Test Info") { \.$showDataPoints \.$timescale } } } enum TimescaleTypeAppEnum: String, AppEnum { case week case fortnight static var typeDisplayRepresentation = TypeDisplayRepresentation(name: "Trend Timescale") static var caseDisplayRepresentations: [Self: DisplayRepresentation] = [ .week: "Past Week", .fortnight: "Past Fortnight" ] }
Replies
1
Boosts
1
Views
175
Activity
Jun ’25
UV Index hourly forecast instability
I pull an hourly UV index forecast in my app via WeatherKit, but I’ve noticed it flips back and forth between two "stable" forecasts throughout the day, as if the data source is switching between providers, as a result giving a sense of instability in the presented forecast. Is there any way to lock or specify a single forecast source for greater consistency? I have a feature that notifies users when the UV index crosses a set threshold, but these repeated “back-and-forth” changes trigger multiple alerts that feel spammy and unreliable. Any advice or best practices for handling this would be greatly appreciated.
Replies
1
Boosts
0
Views
157
Activity
Jun ’25
WeatherKit JWT fails (WDSJWTAuthenticatorServiceListener Code 2) despite entitlement
I’m hitting a WeatherKit JWT failure (WDSJWTAuthenticatorServiceListener Code = 2) at runtime even though the entitlement is present in both the signed binary and the embedded provisioning profile. Environment Team ID 5SZLQLQ9MD Bundle ID ParkProfessor.ParkProfessorDisneyland Device / OS iPhone 15 Pro · iOS 17.4.1 (hardware, not simulator) Xcode 15.3 (15E204a) Console output Failed to generate jwt token for: com.apple.weatherkit.authservice Error Domain=WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors Code=2 "(null)" Entitlement & profile snippets codesign -d --entitlements :- WeatherKitTest.app | grep -A2 weatherkit com.apple.developer.weatherkit security cms -D -i embedded.mobileprovision | grep -A2 weatherkit com.apple.developer.weatherkit What I’ve already tried Regenerated a new development certificate and a new iOS App Development provisioning profile with WeatherKit enabled. Confirmed the capability is selected in Certificates ▸ Identifiers ▸ Profiles and added in Xcode target settings. WeatherKit Terms of Service accepted in the portal. Deleted the app, removed any device management profiles, rebooted the phone, clean-built & ran again. Reproduced the issue in a minimal SwiftUI app that calls: WeatherService.shared.weather(for: CLLocation(latitude: 33.8121, longitude: -117.9190), including: .current) – same Code 2 error. Request It looks like the App ID may need a backend entitlement sync. Could someone from the WeatherKit team please check the status for Team 5SZLQLQ9MD, Bundle ID ParkProfessor.ParkProfessorDisneyland and enable WeatherKit token generation? Thanks!
Replies
3
Boosts
4
Views
293
Activity
Jun ’25
WeatherKit DayWeather::date Timezone Issue
I use WeatherKit with Swift to get multiple cities weather by longitude and latitude. But I use this API in WeatherService for daily forecast: final public func weather<T>(for location: CLLocation, including dataSet: WeatherQuery<T>) async throws -> T And I found there is something wired: The date of WeatherKit::DayWeather is based on my device's timezone settings. Tokyo's Day Weather is start at UTC+8, New York' Day Weather is start UTC+8. Is there any way to set timezone correctly?
Replies
0
Boosts
1
Views
141
Activity
Apr ’25
Weatherkit API Historical 404 Errors Starting 3/5/25
We've been using the WeatherKit API for a few years now. Everything has been pretty stable. We'll periodically get 404 errors, but they usually disappear within a couple days. Starting March 5th we've again been getting 404 errors that slowly ramped up to March 20th and continued. We have had no code changes on our end, so something seems to have changed / broken on the server side of things. Here are some example API calls that are giving us a 404 error now https://weatherkit.apple.com/api/v1/weather/en/35.9981205/-78.8920444?dataSets=forecastDaily&dailyStart=2025-03-21T05:00:00Z&timezone=America/New_York&countryCode=US https://weatherkit.apple.com/api/v1/weather/en/41.4789363/-81.7404134?dataSets=forecastDaily&dailyStart=2025-03-21T04:56:00Z&timezone=America/New_York&countryCode=US Does anyone have any insights or information on this? Also if Apple is listening, an error more meaningful than 404 would be much much appreciated.
Replies
0
Boosts
0
Views
108
Activity
Apr ’25