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

应用地址: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后缀。更换新后缀的即可。

iOS “智慧气象”APP中用到的第三方框架汇总的更多相关文章

  1. Android开发中用到的第三方框架汇总

    最近上网搜索了一些框架资料,整理了以下常用框架,希望在项目中有所帮助. 1.网络请求框架 android-async-http 该网络框架的介绍文章地址:http://www.cnblogs.com/ ...

  2. iOS边练边学--cocoaPods管理第三方框架--命令行方式实现

    更换源 Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.org/)源来查找.安装.升级和写在软件包 gem sources --remove ht ...

  3. iOS知名第三方框架和流行APP们所用的第三方框架小结

    网易新闻AppleReachabilityASIHTTPRequestEGOTableViewPullRefreshGTMNSString+HTMLMGTemplateEngineMPOAuthReg ...

  4. Android开发使用的常见第三方框架汇总

    本文转载:http://blog.csdn.net/liuhaomatou/article/details/44857005 1.volley 项目地址 https://github.com/sman ...

  5. 开发中用到的开源框架汇总(Updating)

    SuperWebSocket SuperSocket NPOI 官网:http://npoi.codeplex.com/ 实例讲解:http://www.cnblogs.com/yutian/p/52 ...

  6. iOS-常用的第三方框架的介绍

    写iOS 程序的时候往往需要很多第三方框架的支持,可以大大减少工作量,讲重点放在软件本身的逻辑实现上. GitHub 里面有大量优秀的第三方框架,而且 License 对商业很友好.一下摘录一下几乎每 ...

  7. GitHub 里面有大量优秀的第三方框架

    写iOS 程序的时候往往需要很多第三方框架的支持,可以大大减少工作量,讲重点放在软件本身的逻辑实现上. GitHub 里面有大量优秀的第三方框架,而且 License 对商业很友好.一下摘录一下几乎每 ...

  8. iOS逆向工程之Hopper+LLDB调试第三方App

    LLDB是Low Level Debugger的简称,在iOS开发的调试中LLDB是经常使用的,LLDB是Xcode内置的动态调试工具.使用LLDB可以动态的调试你的应用程序,如果你不做其他的额外处理 ...

  9. 最全面的iOS和Mac开源项目和第三方库汇总

    标签: UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UIT ...

随机推荐

  1. 使Eclipse符合Java编程规范

    编程规范是很重要的东西,能让团队的代码易于阅读和维护,也便于日后的功能扩展. 工欲善其事必先利其器!作为一个Java程序员,与Eclipse打交道可能是一辈子的事情.将Eclipse设置为符合公司编程 ...

  2. Incorrect string value异常解决

    mysql数据库的一个问题 1366-Incorrect string value:'\xE5\x8D\xA1\xE5......' for column 'filename' at row 1 问题 ...

  3. Hashtable Dictionary List 谁效率更高

    一 前言 很少接触HashTable晚上回来简单看了看,然后做一些增加和移除的操作,就想和List 与 Dictionary比较下存数据与取数据的差距,然后便有了如下的一此测试, 当然我测的方法可能不 ...

  4. VS Code First使用Mysql数据库详解

    最近电脑出毛病了,自己装显卡驱动给装死了开不了机,自己研究了两天也没解决,只有去修电脑的找专业人员,说起来惭愧,虽然自己是搞计算机的可电脑自己重装系统都还搞不定.重装系统又清理灰尘花了50大洋,现在用 ...

  5. web安全——应用(java)

    简介 由于网络技术日趋成熟,黑客们也将注意力从以往对网络服务器的攻击逐步转移到了对web应用的攻击.据最新调查,信息安全有75%都发生在web应用而非网络层面. 场景 控制访问的权限.只让可以访问的访 ...

  6. (十七)迭代器模式详解(foreach的精髓)

    作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 各位好,很久没以LZ的身份和 ...

  7. ASP.NET MVC 数据库依赖缓存的实现

    当数据库中的信息发生变化的时候,应用程序能够获取变化的通知是缓存依赖得以实现的基础.应用程序可以通过轮询获取数据变化的信息,使用轮询的话也不可能重新查一次后再和以前的数据做比较,如果这样的话如果我一个 ...

  8. libsvm使用详细说明

    一,简介 LibSVM是台湾林智仁(Chih-Jen Lin)教授2001年开发的一套支持向量机的库,这套库运算速度还是挺快的,因此成为目前国内应用最多的SVM的库.详细的使用说明及博主博客见下链接: ...

  9. 准确率P 召回率R

    Evaluation metricsa binary classifier accuracy,specificity,sensitivety.(整个分类器的准确性,正确率,错误率)表示分类正确:Tru ...

  10. 别名现象,java对象之间的相互赋值

    请看一下代码 import java.util.*; class book{ static  int c = null; } public static void main(String[] args ...