I've been unable to get MinuteWeather
to return anything for the summary
property -- it used to return a nil value which was fixed in a previous beta, but now it always returns an empty string. The rest of the MinuteWeather
data returns as expected.
Example call:
let latitude = 37.323
let longitude = -122.032
Task {
let weatherData = WeatherData.shared
let minutely = await weatherData.minutelyForecast(for: CLLocation(latitude: latitude, longitude: longitude))
guard let minutelyWeather = minutely else {
print("WeatherKit minutely data unavailable")
return
}
print(minutelyWeather.summary) // This returns ""
}
WeatherData
class:
class WeatherData: NSObject {
static let shared = WeatherData()
private let service = WeatherService.shared
func minutelyForecast(for location: CLLocation) async -> WeatherKit.Forecast<MinuteWeather>? {
let minuteWeather = await Task.detached(priority: .userInitiated) {
let forecast = try? await self.service.weather(for: location, including: .minute)
return forecast
}.value
return minuteWeather
}
}