Skills

Weatherkit

Fetch WeatherKit current, minute, hourly, and daily forecasts; weather alerts; iOS 18+...

Install

npx skills add dpearson2699/swift-ios-skills --skill weatherkit -g -a claude-code -y
Category
Mobile
Updated
3mo ago
License
See repository
Context cost
Mediumabout 3,000 tokens
Runs scripts
No, instructions only

What it does

Fetch WeatherKit current, minute, hourly, and daily forecasts; weather alerts; iOS 18+ changes, historical comparisons, summaries, and statistics; and required Apple Weather attribution. Use when integrating weather data, showing forecasts or alerts, caching WeatherKit responses, displaying attribution, or reviewing WeatherKit query limits in iOS apps.

WeatherKit

Fetch current conditions, hourly and daily forecasts, weather alerts, and historical statistics using WeatherService. Display required Apple Weather attribution.

Contents

Setup

Project Configuration

  1. Enable the WeatherKit capability in Xcode (adds the entitlement)
  2. Enable WeatherKit for your App ID in the Apple Developer portal
  3. Add NSLocationWhenInUseUsageDescription to Info.plist if using device location
  4. WeatherKit requires an active Apple Developer Program membership

Import

import WeatherKit
import CoreLocation

Creating the Service

Use the shared singleton or create an instance. WeatherService conforms to Sendable; keep app cache and UI state isolated separately.

let weatherService = WeatherService.shared
// or
let weatherService = WeatherService()

Fetching Current Weather

Fetch current conditions for a location. Returns a Weather object with all available datasets.

WeatherKit temperatures are Measurement<UnitTemperature> values; display them with .formatted() so units and number formatting follow the user's locale.

func fetchCurrentWeather(for location: CLLocation) async throws -> CurrentWeather {
    let weather = try await weatherService.weather(for: location)
    return weather.currentWeather
}
Read the whole SKILL.md on GitHub

More in Mobile