开始使用 WeatherKit

WeatherKit,搭配全新的 Apple 天气服务,为 App 和服务提供丰富且有价值的天气数据,帮助人们获取最新预报,未雨绸缪地做好安全措施。了解在开始使用前所需满足的要求和用到的工具,以及如何从 Dark Sky 天气服务过渡到 WeatherKit。

要求

Apple Developer Program 会员资格

Apple Developer Program 包含 WeatherKit,还提供开发和分发 App 所需的一切工具、资源和支持 — 包括获取 Beta 版软件、App 服务、测试工具以及 App 分析等。

软件

WeatherKit 要求使用 iOS 16、iPadOS 16、macOS 13、Apple tvOS 16watchOS 9。REST API 可用于网站和其他平台。

价格与销售范围

每个 Apple Developer Program 会员资格每月将包含 WeatherKit 的 50 万次 API 调用。如果你需要额外的 API 调用次数,你的 Apple Developer Program 会员资格的账户持有人可以在 Apple Developer App 的“账户”标签页中订阅。订阅方案以美元或可用的当地货币定价。

  • 50 万次调用/月:会员资格已包含
  • 100 万次调用/月:49.99 美元
  • 200 万次调用/月:99.99 美元
  • 500 万次调用/月:249.99 美元
  • 1,000 万次调用/月:499.99 美元
  • 2,000 万次调用/月:999.99 美元
  • 5,000 万次调用/月:2,499.99 美元
  • 1 亿次调用/月:4,999.99 美元
  • 1.5 亿次调用/月:7,499.99 美元
  • 2 亿次调用/月:9,999.99 美元

账户持有人可以随时对订阅进行升级或降级。对于账户持有人:

  • 如果升级订阅,将开始新的结算周期,你可以立即开始使用新方案。你的配额将重置为 0,并且 API 调用数将根据新订阅进行替换。
  • 如果降级订阅,你可以在当前结算周期内继续使用当前方案。

请注意,未使用的 API 调用数不会结转到次月。

归因要求

当你在自己的 App、网页版 App 或网站中使用 WeatherKit 时,需要遵循关于归因来自 Apple 的天气数据的准则和要求。有关详情,请查看下方的归因要求部分。

工具和文档

Xcode 和 SDK

适用于 WeatherKit 的 Swift API 要求使用 Xcode 14、iOS 16、iPadOS 16、macOS 13、Apple tvOS 16watchOS 9。对于其他平台和网站,你可以使用 REST API。

服务 ID 及密钥配置

在实现 WeatherKit 之前,你将需要使用“证书、标识符和描述文件”来设置标识符和密钥。

视频和文稿

Apple“天气”App 和第三方归因

如果你的 App、网页版 App 或网站会显示来自 Apple 的“天气”App 的任何数据 (除了天气预警或者增值服务或产品之外,如下文所述),则你必须清晰地展示 Apple“天气”商标 (天气) 以及指向其他数据来源的法律链接。

天气预警

  • 显示的所有天气预警都必须包含 Apple 向你提供的指向 Apple 天气预警详情页面的嵌入式链接。
  • 所有天气预警标题或描述都必须包含发布相应预警的来源气象机构的全名。有关相应气象机构以及规定如何使用和分发这些天气预警的许可条款的更多信息,请访问相应的 Apple 天气预警详情页面。
  • 你不得以任何方式修改、更改、改变或模糊恶劣天气预警的文本。

增值服务或产品

增值服务或产品是指你开发的某些数据、产品和/或服务,它们派生自 Apple 天气数据且经过转化,因此任何用户或其他第三方均无法从中发现、获取、反向工程或以其他方式确认或使用原始的 Apple 天气数据。你同意在显示增值服务或产品时,将数据的来源归因于“天气”,并附上一条提示 Apple 提供的数据已被修改的通知。

Dark Sky 过渡

Dark Sky 天气服务的支持将于 2023 年 3 月 31 日终止。要过渡到 WeatherKit 并继续为你的 App、网页版 App、网站和服务获取天气数据,你需要成为 Apple Developer Program 会员,查看特别注意事项,以及将各字段对应成相应的名字。

如果你是非营利组织、官方认可的教育机构或政府机构,你可能符合申请 Apple Developer Program 会员资格年费豁免的条件。

重要更新

  • 全天数据是指在日历日中产生的数据。例如,7 月 1 日从凌晨 12:00 开始,到晚上 11:59 结束。
  • 不再提供日间高体感温度和夜间低体感温度。
  • 你可以使用 WeatherKit 中的可用性端点验证哪些数据集或功能在指定位置可用。
  • Dark Sky 时间机器功能现已内建在每小时和每日天气请求中。

栏位对应

Dark Sky 栏位 REST Swift
RESPONSE 格式
latitude metadata.latitude metadata.latitude
longitude metadata.longitude metadata.longitude
exclude None None
extend=hourly None None
lang=[language] metadata.language None
units=[units] metadata.units None
timezone None None
currently currentWeather currentWeather
minutely forecastNextHour minuteForecast
hourly forecastHourly hourlyForecast
daily forecastDaily dailyForecast
alerts weatherAlerts weatherAlerts
flags metadata (on each object) metadata (on each object)
DATA POINT 对象
apparentTemperature temperatureApparent apparentTemperature
apparentTemperatureHigh None None
apparentTemperatureHighTime None None
apparentTemperatureLow None None
apparentTemperatureLowTime None None
apparentTemperatureMax None None
apparentTemperatureMaxTime None None
apparentTemperatureMin None None
apparentTemperatureMinTime None None
cloudCover cloudCover cloudCover
dewPoint temperatureDewPoint dewpoint
humidity humidity humidity
icon conditionCode condition / symbolName
moonPhase moonPhase (daily only) dailyForecast.moon.phase
nearestStormBearing None None
nearestStormDistance None None
ozone None None
precipAccumulation precipitationAmount precipitationAmount
precipIntensity precipitationIntensity precipitationIntensity
precipIntensityError None None
precipIntensityMax None None
precipIntensityMaxTime None None
precipProbability precipitationChance precipitationChance
precipType precipitationType precipitation
pressure pressure pressure
summary None minuteForecast.summary
sunriseTime sunrise, sunriseAstronomical, sunriseCivil, sunriseNautical sun.sunrise
sunsetTime sunset, sunsetAstronomical, sunsetCivil, sunsetNautical sun.sunset
temperature temperature temperature
temperatureHigh None None
temperatureHighTime None None
temperatureLow None None
temperatureLowTime None None
temperatureMax temperatureMax highTemperature
temperatureMaxTime None None
temperatureMin temperatureMin lowTemperature
temperatureMinTime None None
time dailyStart, hourlyStart, forecastStart, startTime date
uvIndex uvIndex uvIndex
uvIndexTime None None
visibility visibility visibility
windBearing windDirection wind.direction
windGust windGust wind.gust
windGustTime None None
windSpeed windSpeed wind.speed
DATA BLOCK 对象
data dataSets None
summary None None
icon conditionCode condition / symbolName
ALERTS 阵列
description messages summary
expires expireTime metadata.expirationDate
regions areaId/areaName region
severity severity severity
time issuedTime metadata.date
title description summary
uri detailsUrl detailsURL
FLAGS 对象
nearest-station None None
sources source weatherService.attribution
units units None
RESPONSE HEADERS
Cache-Control Cache-Control None
Expires deprecated None None
X-Forecast-API-Calls None None
X-Response-Time None None

帮助及联系

Apple 开发者论坛

发布问题,并与其他开发者及 Apple 工程师分享技术信息。

查看论坛

反馈助理

提交错误报告,并请求对 API 和开发者工具的功能改进。

前往“反馈助理”

Apple Developer Support

如果你有任何疑问,请联系 Apple Developer Support。我们将通过电话或邮件方式提供帮助。

联系我们