------------------------------------------------------------------------------------

2015.8.19 更新

考虑到还会有很多童鞋会看到该Blog,在此做一个说明,开源中国iOS开源客户端源码已做重构,请下载最新的源码学习。

新repo地址:http://git.oschina.net/oschina/iphone-app。

另外,这篇Blog收集了一些其他社区的客户端源码,源码也正在不断更新中,有的也上架appstore。

访问地址:http://duxinfeng.com/2015/07/14/iOS%E5%BC%80%E6%BA%90App%E6%95%B4%E7%90%86/

------------------------------------------------------------------------------------

说到这款开源软件就得提到她的娘家了--开源中国社区:

开源中国社区简介:开源中国 www.oschina.net 成立于2008年8月,是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。开源中国社区在移动设备上做了客户端以后,将他们源代码做了开源分享,让我们初学者有机会看到大牛们是怎样设计软件怎么写的代码,拿到源码也有一两个月了,只是草草的看了一遍,现在想深入的去学习一遍,分析一个完整工程代码,希望能收获些东西;

开源中国客户端上用到的东西很多,基本涵盖了我们做iOS应用开发需要学的全部内容,软件里面有很多特效用的是别人封装好的第三方类库,比如下拉刷新、异步加载图片、XML解析、正则表达式等,采用了经典的MVC设计模式,也许会觉得界面不如别的软件界面美观,但是却很值得我们正在学习iOS的同学去学习;

开源中国客户端界面

    

  

   

项目目录导航视图

项目目录简单解析:

1、AFNetwork --- 通用网络库
2、GCDiscreetNotificationView --- 顶部弹出并会自动消失的通知栏
3、Thread --- 后台线程对象,处理后台发送带图片的动弹
4、SoftwareGroup --- 所有软件索引页以及软件分组页
5、Friends --- 好友列表页,包括粉丝与关注者
6、Search --- 搜索页
7、Favorite --- 收藏页
8、MBHUD --- 载入提示控件
9、FTColor --- 富文本显示控件
10、EGOImageLoading --- 异步图像控件
11、User --- 其他用户个人专页以及登陆用户专页
12、Comment --- 评论列表页以及发表评论页
13、AsyncImg --- 异步图像控件,总要用于列表中用户头像加载
14、Setting --- 登录,注销以及关于我们
15、Profile --- 动态页,发表留言,以及对话气泡
16、News --- 新闻,问答的列表以及所有类型的文章详情页
17、Tweet --- 动弹列表,发表动弹以及动弹详情
18、Helper --- 项目辅助类
19、TBXML --- xml解析,反序列化所有API返回的XML字符串
20、ASIHttp --- 另一种网络库,负责用户登陆以及发送带图片的动弹
21、Model --- 项目所有的实体对象
22、Resource --- 项目资源

Model 目录的子对象:

Model
├ Tweet 动弹列表单元,也用于动弹详情
├ News 新闻列表单元
├ Post 问答列表单元
├ Message 留言列表单元
├ Activity 动态列表单元
├ Config 程序配置设置
├ SingleNews 新闻详情
├ SinglePostDetail 问答详情
└ Comment 评论列表单元
└ Software 软件详情
└ Blog 博客详情
└ Favorite 收藏列表单元
└ SearchResult 搜索结果列表单元
└ Friend 好友列表单元
└ SoftwareCatalog 软件分类列表单元
└ SoftwareUnit 软件列表单元
└ BlogUnit 博客列表单元

项目的功能流程

1、APP启动流程

OSAppDelegate 的启动方法中,声明一个 UITabBarController,然后依次将
NewsBase
PostBase
TweetBase2
ProfileBase
SettingView
填充到5个UITabItem里

2、ipa文件生成流程

1,在OSX系统上启动iTunes程序
2,启动Xcode,将项目中的 OSChina/Products/oschina.app 按住command键然后用鼠标拖放到iTunes的应用程序栏目
3,然后在iTunes程序中右键点击"开源中国"图标,在弹出的的菜单中选择"在Finder中显示",这样你就看到ipa文件的路径了。

开源中国客户端源码  GitHub :    https://github.com/oschina

                                  CSDN  :    http://download.csdn.net/detail/duxinfeng2010/4877544

开源中国iOS客户端学习——序相关推荐

  1. 开源中国iOS客户端学习

    开源中国iOS客户端学习 续写前言 <开源中国iOS客户端学习>续写前系列博客    http://blog.csdn.net/column/details/xfzl-kykhd.html ...

  2. 开源中国iOS客户端学习——(八)网络通信AFNetworking类库

    AFNetworking是一个轻量级的iOS网络通信类库,继ASI类库不在更新之后开发者们有一套不错选择: AFNetworking类库×××和使用教程: https://github.com/AFN ...

  3. 开源中国iOS客户端学习——(十二)用户登陆

    ---------------------------------------------------------------------------------------------------- ...

  4. 开源中国iOS客户端学习——(五)网络通信ASI类库(1)

    如今的应用大部分基予网络,在开源中国iOS客户端源码中关于网络通信方面用了三个类库,ASI和AFNetworking,还有一个苹果官方给出的Reachability用于检测当前网络状况,本文介绍当前用 ...

  5. 开源中国iOS客户端学习——(一)Prefix.pch文件

    2019独角兽企业重金招聘Python工程师标准>>> 当我们新建一个工程的时候,在Supporting FIles文件下会看到一个以  -Prefix.pch结尾文件的文件,pch ...

  6. 开源中国iOS客户端学习——(七)MBProgressHUD特效

    在开源中国iOS客户端中也用到了MBProgressHUD这个特效,主要作用为应用显示一个过渡的作用,常用于打开一个联网页面加载过程,防止出现假死现象,如果网速慢则告诉用户已经在很努力很努力的加载中. ...

  7. 开源中国IOS客户端

    自己想看看别人开发的项目,吸收下经验,然后找到开源中国,有些网上的大牛自己也开发出了开源中国的客户端 在网上看到很多网友说,下载下来安装不了之类的东西,在我这里我带个路,希望对那些朋友有些帮助. ht ...

  8. 开源中国android客户端学习 第一天

    源码地址:http://git.oschina.net/oschina/android-app 第一天,看了很久oschina的源码,然后提取了他的头部和底部(本人新手,见谅哈) 效果图

  9. 开源中国Android客户端v2.6.5代码开源啦!

    我们发布了开源中国Android客户端v2.6.5,这个版本中包含了大量的细节改进,感兴趣的朋友们现在就可以checkout代码出来钻研了交流了. (新版界面实现等,请参考 net.oschina.a ...

最新文章

  1. python判断数据类型
  2. django 之 session
  3. linux——DHCP的配置问题
  4. JZOJ 6030. 【GDOI2019模拟2019.2.25】白白的
  5. 减少C++编译时间的方法
  6. gps有几个轨道面_嫦五“一脚刹车”,进了环月轨道
  7. Java之PriorityQueue有序队列
  8. jsp网页上实现计算圆面积小程序
  9. java 获取季度第一天_Java获取当天、本周、本月、本季度、本年等 开始及结束时间...
  10. paip.php的调试--attilax总结
  11. kali2022.1安装google chrome develop 专业版
  12. compareTo的用法
  13. 程序员!别再埋头学Python了!
  14. 我所学到的EC-1(个人学习总结,不能保证正确,欢迎大佬指正)
  15. 图片直接引入base64格式的
  16. SpringCloud学习记录 | 第十五篇:SpringCloud Alibaba Nacos配置中心-单机版
  17. matlab下的logistic回归分析
  18. 机器学习算法(1)——Logistic Regression
  19. Csharp事件详解
  20. android github 多页面程序,论一个APP从启动到主页面显示经历的过程?

热门文章

  1. 阿里数据中台七年演化史——行在口述干货
  2. 2.3 二进制乘法运算(定点原码两位乘)
  3. 初识cytoscape.js
  4. OCR识别-发票扫描仪
  5. 全部HTML代码学习
  6. java中的applet的问题
  7. 人脸识别闸机python_Python 40行代码实现人脸识别功能
  8. 计算机维修活动新闻稿,设备检修新闻稿_检修新闻稿
  9. 职场人士论文下载方法
  10. 张磊大神的《深入剖析Kubernetes》终于出书啦!