1. 项目简介
这是一款用Swift 5编写的简易的iOS天气APP,主要实现了定位获取本地天气、根据城市名搜索天气这两个功能。另外,该APP中还有通过API获取数据时的加载动画。
项目使用CocoaPods管理第三方库。这些库包括Alamofire、SwiftyJSON、NVActivityIndicatorView。
开发工具:Xcode 11.5
开发语言:Swift 5
目标系统:iOS 13.5
1.1 功能与参数
定位获取本地天气功能通过OpenWeatherMap提供的API(该API免费版提供的数据中没有空气指数等信息)来实现,传入URL中的参数是本设备的经纬度。
根据城市名搜索天气功能通过天气API来实现(该API免费版的参数中不能传入经纬度),搜索框输入的中文城市名(如:成都)。
软件界面中的参数有:
- 城市名称、星期几、天气图标、天气类型、当前温度、湿度、气压(两个API均能获取)
- 空气指数、空气质量、外出建议、开窗建议(仅天气API能获取)
1.2 效果图
-
启动页面
-
打开软件后弹出获取定位的提示
-
加载动画
-
定位(国外 / 白天)
-
定位(国外 / 夜晚)
-
搜索(国内 / 空气质量好)
-
搜索城市(国内 / 空气质量差)
2. 运行方法
-
将OpenWeatherMap账户中的
API_KEY,天气API账户中的APPID、APPSecret粘贴到代码的相应位置上 -
模拟器选择
iPhone 11以获得最好的显示效果,之后点击运行即可
附:
-
修改模拟器的经纬度
-
经纬度参考
| 地点 | 经度Longitude | 纬度Latitude |
|---|---|---|
| 伦敦 | 2.2 | 48.52 |
| 纽约 | -74.0 | 40.43 |
| 莫斯科 | 37.35 | 55.45 |
| 北京 | 39.92 | 116.42 |
| 成都 | 104.07 | 30.67 |
- 测试API的URL获取数据时,可以使用
Rested,它会将JSON数据以清晰的结构呈现出来。该软件可以在App Store获取。