Every WeatherKit request from my app fails within 0.4 to 2.4 seconds on two physical devices (iPhone 15 Pro and iPad Air 11-inch M3, both iOS/iPadOS 27.0.1, Xcode 27.0):
Error Domain=WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors Code=2 "(null)"
The call is WeatherService.shared.weather(for: location, including: .hourly(startDate: start, endDate: end)).
Team ID 8B44CZ9923, bundle ID io.github.rsutcliffe.nightwatch.phone (an explicit App ID created by Xcode automatic signing on 14 October 2026).
What I have checked, following the answer in https://developer.apple.com/forums/thread/835229:
- WeatherKit is enabled as a capability on the App ID (Capabilities tab) and as an app service (App Services tab).
- com.apple.developer.weatherkit is in the signed app's entitlements and in the embedded provisioning profile.
- The Program License Agreement update issued on 13 October was accepted on 14 October.
- I unticked WeatherKit on the App ID, saved, re-ticked it and saved, deleted the cached provisioning profile so Xcode created a new one, reinstalled and retested.
- Both devices were restarted. The failure is identical on both.
- Another App ID on the same team works with WeatherKit.
This looks like https://developer.apple.com/forums/thread/786126 and https://developer.apple.com/forums/thread/829512, where the settings were also correct.
Can WeatherKit token registration for this App ID be checked or reset on the server side? Is there anything else I should verify?