iOS “智慧气象”APP中用到的第三方框架汇总

时间:2023-03-08 16:10:23
iOS “智慧气象”APP中用到的第三方框架汇总

iOS “智慧气象”APP中用到的第三方框架汇总

“智慧气象”是我最近在公司接手的项目,已经完成最新版本的更新并上架,在此分享下其中用到的第三方框架的使用。

应用地址:APP商店搜索“智慧气象”

  1. MJRefresh(下拉刷新)
    业界知名下拉刷新框架就不多说了。
  2. ShareSDK 2.12.0(第三方分享)
    业界常用的第三方分享框架,不过在适配iOS9上略微有点细节问题。可以参考官方的文档解决。
  3. GetuiSDK 1.2.1(消息推送)
    个推的集成是比较简单的,在我之前的博客中有提及。个推的开发文档和DEMO已经写的非常详细了。
  4. RNSwipe(界面滑动)
    这个是界面滑动的框架,算是比较普通的。类似的页面滑动小框架也非常多,甚至可以基于UIPageViewController自己写一个也是非常简单的。
  5. ArcGis 10.2.4(地图绘制)
    ArcGis是本项目中比较核心的框架。在本项目的业务中比如天气图、雷达图、台风等诸多业务都使用到这个框架。基于该框架封装的与Map相关类、数据模型和服务类都做的比较成熟了,但由于保密原因我不能将代码内容开放。但该框架对于高德、百度等Map的框架优势在于其对图层绘制功能的强大,比如多种数据源的瓦片形式的加载、格点等各种形式的图层等。
  6. CorePlot (折线图绘制)
    CorePlot是常用的数据可视化框架,主要是画折线图等。其中文相关资料的文档网上比较少,不过好在其需要实现的功能也不会太复杂。
  7. AFNetWorking 2.0 (网络通讯)
    基本每个应用都集成的网络框架,不说了。
  8. GDataXML-HTML (XML解析)
    这个是谷歌开源的XML解析的框架。主要为XML形式的内容到NSDictionary或NSArray数据类型的转换。
  9. JSONKit (JSON解析)
    常用JSON解析和JSON编码框架。现在自带的也挺好用。
  10. MBProgressHUD (进度条动画)
    比较强大的进度条动画的框架。支持多种透明层的定义,效果非常好。
  11. SFHFKeychainUtils (本地持久存储)
    Keychain是iOS中能实现应用删除后还存储数据的持久化存储方法。该框架封装了keychain的接口。关于持久化存储之后我会再写博客进行总结。
  12. 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后缀。更换新后缀的即可。