这是一个强大的 API 封装,用于 iOS 和 Mac 上的 Yahoo 天气。它基于 AFNetworking 的基于块的架构构建,可以异步获取响应,不需要在主线程上等待。
本文档提供了一个快速概览。请参阅 完整文档。
Yahoo 天气 API 不需要 API 密钥。
克隆仓库并将 Pod/Classes
目录中的所有文件添加到您的 Xcode 目标中。
#import <YWeatherAPI/YWeatherAPI.h>
使用共享单例来发起请求
[YWeatherAPI sharedManager];
获取当前温度就像这样简单
[[YWeatherAPI sharedManager] temperatureForLocation:@"Redwood City, California"
success:^(NSDictionary* result)
{
NSString* temperature = [result objectForKey:kYWAIndex];
NSLog(@"The temperature is a pleasant %@ F", temperature);
}
failure:^(id response, NSError* error)
{
// Yikes, something went wrong
}
];
示例中的成功回调中返回的是这个 NSDictionary 对象
{
city = "Redwood City";
country = "United States";
index = 72; // key @"index" (the detail you asked for)
latitude = "37.5";
longitude = "-122.23";
region = CA;
temperatureInC = "22.22";
temperatureInF = 72;
}
有关键和数据类型的完整列表,请参阅 YWeatherAPI.h
。
自定义要返回的默认天气单位,启用结果缓存,设置缓存过期时间等。
[YWeatherAPI sharedManager].defaultPressureUnit = MB;
[YWeatherAPI sharedManager].cacheEnabled = YES;
[YWeatherAPI sharedManager].cacheExpiryInMinutes = 10;
完整的文档可以在CocoaDocs找到。
不需要。雅虎天气目前不需要API密钥即可访问其大部分内容,因此此API包装器也不需要。请尊重这种权限。
API密钥的需求可能在将来会改变。如果确实如此,将采取措施以遵循语义版本规则确保向后兼容性。
不需要。
YWeatherAPI在Mac OS X 10.8+和iOS 6.0+上运行。
master
分支。是的,我也喜欢冒点风险。YWeatherAPI可以在MIT许可下使用。有关更多信息,请参阅LICENSE文件。