Вызов WeatherKit возвращает ответ по умолчанию

Я пытаюсь использовать WeatherKit, чтобы просто получить простой прогноз погоды для местоположения.

      do {
    let location = CLLocation(latitude: 37.3346, longitude: -122.0087)
    let weather = try await WeatherService().weather(for: location)
} catch {
    print(error)
}

Когда я запускаю это на физическом устройстве, я получаю пустой объект Weather и следующее в консоли:

      [WeatherDataService] Response did not contain requested dataset: .appLocationConfig. Returning default value: AppLocationConfig(reportAnIssue: ReportIssueLocationConfig(position: beforeFooter, minDaysSinceInteraction: 0), expireTime: 2022-11-27 04:31:20 +0000

Xcode управляет моим профилем обеспечения, я добавил возможность WeatherKit, и у меня есть активное членство в программе разработчиков Apple, поэтому я не думаю, что у меня должны возникнуть проблемы с доступом к WeatherKit. Что происходит, и как я могу это исправить?

1 ответ

Считаете ли вы это решением проблемы или нет, добавлениеincludingПараметр вызова исправил проблему для меня.

Итак, вместо

      let weather = try await WeatherService().weather(for: location)

Вы можете позвонить

      let weather = try await WeatherService().weather(for: location, including: .current)

Он должен вернуть вам ту же информацию, что и исходный вызов.

Другие вопросы по тегам