“智慧气象”是我最近在公司接手的项目,已经完成最新版本的更新并上架,在此分享下其中用到的第三方框架的使用。
应用地址:APP商店搜索“智慧气象”
- MJRefresh(下拉刷新)
业界知名下拉刷新框架就不多说了。 - ShareSDK 2.12.0(第三方分享)
业界常用的第三方分享框架,不过在适配iOS9上略微有点细节问题。可以参考官方的文档解决。 - GetuiSDK 1.2.1(消息推送)
个推的集成是比较简单的,在我之前的博客中有提及。个推的开发文档和DEMO已经写的非常详细了。 - RNSwipe(界面滑动)
这个是界面滑动的框架,算是比较普通的。类似的页面滑动小框架也非常多,甚至可以基于UIPageViewController自己写一个也是非常简单的。 - ArcGis 10.2.4(地图绘制)
ArcGis是本项目中比较核心的框架。在本项目的业务中比如天气图、雷达图、台风等诸多业务都使用到这个框架。基于该框架封装的与Map相关类、数据模型和服务类都做的比较成熟了,但由于保密原因我不能将代码内容开放。但该框架对于高德、百度等Map的框架优势在于其对图层绘制功能的强大,比如多种数据源的瓦片形式的加载、格点等各种形式的图层等。 - CorePlot (折线图绘制)
CorePlot是常用的数据可视化框架,主要是画折线图等。其中文相关资料的文档网上比较少,不过好在其需要实现的功能也不会太复杂。 - AFNetWorking 2.0 (网络通讯)
基本每个应用都集成的网络框架,不说了。 - GDataXML-HTML (XML解析)
这个是谷歌开源的XML解析的框架。主要为XML形式的内容到NSDictionary或NSArray数据类型的转换。 - JSONKit (JSON解析)
常用JSON解析和JSON编码框架。现在自带的也挺好用。 - MBProgressHUD (进度条动画)
比较强大的进度条动画的框架。支持多种透明层的定义,效果非常好。 - SFHFKeychainUtils (本地持久存储)
Keychain是iOS中能实现应用删除后还存储数据的持久化存储方法。该框架封装了keychain的接口。关于持久化存储之后我会再写博客进行总结。 - SSZipArcihve (ZIP解压)
SSZipArchive是一个用以Zip文件解压的框架。之所以要在项目中进行ZIP传输而不是JSON传输,是因为气象信息的格点、图层的信息量都比较大,比较耗流量。另外SSZipArchive和JSONKit,并不支持ARC,所以需要在编译处添加特殊字段。
另外,这些三方框架大部分都是采用CocoaPods进行管理,部分使用中会遇到的常见问题比如:
1.并不支持ARC的框架,如 SSZipArchive和JSONKit,解决方式是:
在Build Phases里的Compile Sources里Compiler Flags一栏添加 -fno-objc-arc。
2.含有C文件的框架,在编译时常常无法通过,需要注意:
如果有PCH文件,请在PCH文件全局import文件的前后加上#ifdef __OBJC__和#endif。这句话的意义是只对OC文件编译是import下列库,对C文件编译时不编译。
3.libz.dylib和libc++.dylib在iOS9中已更名为.tbd后缀。更换新后缀的即可。