WeatherKit iOS SDK 401 network error

I'm following along to the WWDC WeatherKit session, and I keep getting this 401 network error that causes my app to crash on a fatal error. I have already created the proper Bundle App ID with WeatherKit enabled, and added the WeatherKit capability.

Here is my code:

private func getWeather() async -> Double {

        let weatherService = WeatherService()



        let syracuse = CLLocation(latitude: 33.6846, longitude: 117.8265)



        let weather = try! await weatherService.weather(for: syracuse)



        let temperature = weather.currentWeather.temperature

        return temperature.converted(to: .celsius).value

    }

Full error message:

2022-06-07 17:35:43.051776-0700 WWDC2022[56529:1296409] WWDC2022/WeatherView.swift:30: Fatal error: 'try!' expression unexpectedly raised an error: WeatherDaemon.WDSHMACJWTAuthenticatorService.Errors.invalidJWTResponse(Optional(<NSHTTPURLResponse: 0x6000018402c0> { URL: https://weather-data.apple.com/v2/token } { Status Code: 401, Headers {

    Connection =     (

        close

    );

    "Content-Length" =     (

        0

    );

    Date =     (

        "Wed, 08 Jun 2022 00:35:43 GMT"

    );

    Server =     (

        Apple

    );

    "Strict-Transport-Security" =     (

        "max-age=31536000; includeSubdomains"

    );

    "X-Apple-Origin" =     (

        "8961098f-b238-3714-ba44-5b569c861456"

    );

    "X-Cache" =     (

        "TCP_MISS from a23-219-38-54.deploy.akamaitechnologies.com (AkamaiGHost/10.8.2-41841244) (-)"

    );

    "X-Content-Type-Options" =     (

        nosniff

    );

    "X-Frame-Options" =     (

        SAMEORIGIN

    );

    "X-REQUEST-ID" =     (

        "5156c5c7-d23b-4a66-a161-c8a9fb849c85"

    );

    "X-XSS-Protection" =     (

        "1; mode=block"

    );

} }))
Answered by Jevon_Mao in 716188022

Originally I thought the issue was I didn't wait long enough for App ID to register, but its been a while, and the error still persists.

Accepted Answer

Originally I thought the issue was I didn't wait long enough for App ID to register, but its been a while, and the error still persists.

Did you enable WeatherKit in the apps Signing & Capabilities section for the app?

You have to enable the Capabilities & App Services for your App ID in developer portal then wait for 30 minutes to get your app activated in Apple servers. Till then you will get 401 error.

Detailed steps given in the blog post

https://betterprogramming.pub/wwdc22-get-started-with-weatherkit-202794853c01

Thank you Rob Sturgeon

I have the same issues. I followed the setup instructions step by step. I enabled WeatherKit at capabilities in Xcode, and enabled WeatherKit in my dev.account. It was three hours ago, but I still have the 401 network error.

The same issue.

I'm also getting a 401 response code. I've tried running the demo code on Mac, iPhone (simulator running iOS 16), and iPad (physical device running iPadOS 16). My App ID configuration in the developer portal has WeatherKit checked in both "Capabilities" and "App Services". My Xcode project has WeatherKit added as a capability in "Signing & Capabilities". I've waited an hour since setting up my App ID in the developer portal. I'm not sure what else there is to try at this point...

I am having the same problem unfortunately.

Same here. Followed the README steps for the FlightPlanner app sample code, waited a few hours, tested, failed with invalidJWTResponse error. That was 8 hours ago, still getting the same error.

I guess the "good" news is that a comment in the source code explained the workaround for other broken sample code Apple has on their site :/

I'm having the exact same issue. I following the setup steps (checked both boxes on the developer website), added the WeatherKit capability to the app. It's been about 2 hours and still getting the 401.

I'm also having the same issue...

Same here on macOS. My App ID configuration in the developer portal has WeatherKit checked in both "Capabilities" and "App Services". My Xcode project has WeatherKit added as a capability in "Signing & Capabilities".

+1 from me too, have configured everything as described and receiving the 401.

Given that this feature has to be tied to your developer account in some way to count the number of requests you make, and given a 401 error, I would guess that something hasn't been wired up yet to send the right credentials to the API for developer accounts.

Same issue, For people who have weather kit working, in the dev portal under the Services tab: WeatherKit: Manage your weather kit usage I see a Coming soon greyed out box, ,is that the same for you?

Same here

Working for me now!

WeatherKit iOS SDK 401 network error
 
 
Q