开源中国iOS客户端学习——序

简介:

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

开源中国社区简介:开源中国 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




     本文转自新风作浪 51CTO博客,原文链接:http://blog.51cto.com/duxinfeng/1208697,如需转载请自行联系原作者

相关文章
|
Linux Android开发 iOS开发
基于.Net开发的ChatGPT客户端,兼容Windows、IOS、安卓、MacOS、Linux
基于.Net开发的ChatGPT客户端,兼容Windows、IOS、安卓、MacOS、Linux
614 0
|
前端开发 开发工具 Swift
学习iOS开发的准备
准备学习iOS开发?确保有Mac和最新Xcode,先学好编程基础特别是Swift。利用Apple官方文档、在线课程和书籍作为资源。熟悉Xcode及Git,通过实践项目和开源代码积累经验。深研架构模式、核心框架和优化技巧。加入开发者社区,关注行业动态,持续学习。
274 1
|
安全 前端开发 Android开发
鸿蒙开发|鸿蒙系统的介绍(为什么要学习鸿蒙开发|鸿蒙系统的官方定义|鸿蒙和安卓、ios的对比)
鸿蒙开发学习是一项探索性的工作,旨在开发一个全场景分布式操作系统,覆盖所有设备,让消费者能够更方便、更直观地使用各种设备。
1772 6
鸿蒙开发|鸿蒙系统的介绍(为什么要学习鸿蒙开发|鸿蒙系统的官方定义|鸿蒙和安卓、ios的对比)
|
移动开发 iOS开发 Perl
iOS客户端和h5页面的互相调用,服务器和客户端间通信方式
iOS客户端和h5页面的互相调用,服务器和客户端间通信方式
591 0
|
Android开发 iOS开发 Windows
无影产品动态|iOS & Android客户端6.0.0版本发布,提升触控灵敏度,操作体验更丝滑
无影ios & Android客户端6.0.0版本发布!移动端触控体验更舒适,用户操作更便捷,一起来看看!
1277 1
无影产品动态|iOS & Android客户端6.0.0版本发布,提升触控灵敏度,操作体验更丝滑
|
iOS开发
iOS UIKit Dynamics Demo 学习地址列表
iOS UIKit Dynamics Demo 学习地址列表
252 0
|
Web App开发 弹性计算 Android开发
阿里云无影云桌面客户端下载Win/Mac/iOS/安卓/Web端均支持
阿里云无影客户端下载系统Win/Mac/iOS/安卓/Web端均支持
6147 0
阿里云无影云桌面客户端下载Win/Mac/iOS/安卓/Web端均支持
|
XML JSON 编解码
IM通讯协议专题学习(九):手把手教你如何在iOS上从零使用Protobuf
接上篇《金蝶随手记团队的Protobuf应用实践(原理篇)》,本文将以iOS端的Objective-C代码为例,图文并茂地向您菔救绾卧趇OS工程中快速使用Protobuf,希望对你有帮助。
445 0
IM通讯协议专题学习(九):手把手教你如何在iOS上从零使用Protobuf
|
API 开发工具 iOS开发
一点就通,社交源码IOS客户端开发集成SDK
所谓SDK,全称是SoftwaredevelopmentKit,翻译成软件开发工具包。SDK用助开发某种软件,今天给大家简单讲解下如何在社交源码IOS客户端上开发集成 SDK。
|
API 开发工具 iOS开发
一点就通,社交源码IOS客户端开发集成SDK
所谓SDK,全称是SoftwaredevelopmentKit,翻译成软件开发工具包。SDK用助开发某种软件,今天给大家简单讲解下如何在社交源码IOS客户端上开发集成 SDK。