和风 iOS HEWEATHER.framework 使用文档
1.工程配置 2.接口和数据类对照 3.数据类属性对照 4.数据访问代码
1.工程配置
1.1 手动配置
-
本框架采用 Objective-C 编译,将框架包导入项目中即可
-
如果工程是由 Swift 编写:
(1)在 Swift 工程主目录下新建一个 OC 类,如果项目是第一次创建 OC 类的话,会弹出如图的提示窗口。这个提示窗口就是是否建立 Swift-OC 的桥接文件的提示。
(2)点击创建桥接头文件,Xcode 会自动创建一个头文件。这个头文件就是 Swift-OC 的桥接文件。
(3)在 Swift-OC 桥接文件中声明本框架类,即可使用。
(4)SDK 需要开启定位权限,请在工程的 plist.info 文件中添加 NSLocationAlwaysAndWhenInUseUsageDescription 和 NSLocationWhenInUseUsageDescription。
1.2 自动配置
-
pod update
-
Podfile 中添加 pod 'HeWeatherSDK'
-
pod install
1.3 引用库
AFNetworking
1.4 注意事项
- 若发生崩溃,收到未识别的选择器,请确保在设置中的Building Settings的Other Linker Flags中包含-ObjC
2.接口和数据类对照
接口说明 | 接口类型(枚举) | 数据类 |
---|---|---|
3-10天天气预报 | INQUIRE_TYPE_WEATHER_FORECAST | WeatherForecastBaseClass.h |
实时天气 | INQUIRE_TYPE_WEATHER_NOW | WeatherNowBaseClass.h |
逐小时预报 | INQUIRE_TYPE_WEATHER_HOURLY | WeatherHourlyBaseClass.h |
生活指数 | INQUIRE_TYPE_WEATHER_LIFESTYLE | WeatherLifestyleBaseClass.h |
常规天气数据集 | INQUIRE_TYPE_WEATHER | WeatherBaseClass.h |
格点实况天气 | INQUIRE_TYPE_WEATHER_GRID_NOW | WeatherGridNowBaseClass.h |
格点7天预报 | INQUIRE_TYPE_WEATHER_GRID_FORECAST | WeatherGridForecastBaseClass.h |
格点逐小时预报 | INQUIRE_TYPE_WEATHER_GRID_HOURLY | WeatherGridHourlyBaseClass.h |
分钟级降雨(邻近预报) | INQUIRE_TYPE_WEATHER_GRID_MINUTE | WeatherGridMinuteBaseClass.h |
天气灾害预警 | INQUIRE_TYPE_ALARM | AlarmBaseClass.h |
天气灾害预警集 | INQUIRE_TYPE_ALARM_ALL | AlarmAllBaseClass.h |
景点天气预报 | INQUIRE_TYPE_SCENIC | ScenicBaseClass.h |
空气质量实况 | INQUIRE_TYPE_AIR_NOW | AirNowBaseClass.h |
空气质量7天预报 | INQUIRE_TYPE_AIR_FORECAST | AirForecastBaseClass.h |
空气质量逐小时预报 | INQUIRE_TYPE_AIR_HOURLY | AirHourlyBaseClass.h |
空气质量数据集 | INQUIRE_TYPE_AIR | AirBaseClass.h |
卫星云图 | INQUIRE_TYPE_MAP_CLOUD_MAP | UIImage 类型 |
太阳高度角 | INQUIRE_TYPE_SOLAR_ELEVATION ANGLR | SolarElevationAngleBaseClass.h |
日出日落 | INQUIRE_TYPE_SOLAR_SUNRISE_SUNSET | SolarSunriseSunsetBaseClass.h |
历史数据 | INQUIRE_TYPE_WEATHER_HISTORICAL | WeatherHistoricalBaseClass.h |
城市查询 | INQUIRE_TYPE_SEARCH | SearchBaseClass.h |
3.数据类属性对照
- 请参阅同一目录下的《和风 iOS HEWEATHER.framework 实体类属性对照》
4.数据访问代码
4.1 framework 不提供日志功能,错误信息可由以下回调函数geterror中获得
- (void)weatherWithInquireType:(INQUIRE_TYPE)inquireType
WithSuccess:(void(^)(id responseObject))getSuccess
faileureForError:(void(^)(NSError *error))getError;
4.2 使用 framework 时,调用单例方法 sharedInstance 即可(或自行使用 init 方法)
+(instancetype)sharedInstance;
-(instancetype)init;
4.3 根据您的需求调用不同的InquireType接口回调方法中的参数就是接口返回的数据类
- 在 AppDelegate 中添加 username 和 key
HeConfigInstance.kHeAppUsername = @"";
HeConfigInstance.kHeAppKey = @"";
- 设置用户类型SDK会使用不同的api访问
- 付费用户设置为
HeConfigInstance.userType = USER_TYPE_USER;
- 普通用户设置为
HeConfigInstance.userType = USER_TYPE_FREE_USER;
- 也可以调用-(void)changeDomain:(NSString *)domain接口修改SDK的访问域名
- 在需要使用的地方加入以下代码输入所需参数即可
/**
* 实况天气
* 实况天气即为当前时间点的天气状况以及温湿风压等气象指数,具体包含的数据:体感温度、
* 实测温度、天气状况、风力、风速、风向、相对湿度、大气压强、降水量、能见度等。
*
* @param userType 用户类型,分为 付费用户 普通用户
* @param location 地址详解
* @param lang 多语言,默认为简体中文
* @param unit 单位选择,公制(m)或英制(i),默认为公制单位
*/
AllWeatherInquieirs *heWeather = [AllWeatherInquieirs sharedInstance];//或AllWeatherInquieirs *heWeather = [[AllWeatherInquieirs alloc] init];
heWeather.userType = @"";
heWeather.location = @"";
heWeather.lang = @"";//或heWeather.languageType = @"";
heWeather.unit = @"";//或heWeather.unitType = @"";
[heWeather weatherWithInquireType:INQUIRE_TYPE_WEATHER_NOW WithSuccess:^(id responseObject) {
} faileureForError:^(NSError *error) {
}];
地址详解,location参数
权限说明 | 代码 |
---|---|
不传递地址参数 | 自动采用iOS源生定位 |
城市ID:城市列表 | location=CN101010100 |
经纬度格式:经度,纬度(经度在前,纬度在后英语,分隔,十进制格式,北纬东经为正,南纬西经为负 | location=116.40,39.9 |
城市名称,城市列表 | location=北京、 location=北京市、 location=beijing |
城市名称,上级城市 或 省 或 国家,英文逗号分隔,此方式可以在重名的情况下只获取想要的地区的天气数据,例如 西安,陕西 | location=朝阳,北京、 location=chaoyang,beijing |
IP | location=60.194.130.1 |
根据请求自动判断,根据用户的请求获取IP,通过 IP 定位并获取城市数据 | location=auto_ip(固定参数) |