MLSProject
项目是一个 iOS App 开发架构,结合目前优秀的三方框架,旨在快速构建 App。目前对纯代码开发支持良好,对 xib 以及 storyboard 支持暂不友好。
打造一个快速开发 App 的通配性框架,经过少量修改即可适配多种后台模式,快速搭建 UI,对网络模块进行自定义缓存配置。对每个请求可自由操作,对类似 form 表单界面进行精确控制。
MLSProject
├── AppDelegate -- 继承 BHAppDelegate , app 启动配置 BHAppDelegate,模块内配置各自的启动操作。
├── MemoryCheck -- facebook/FBMemoryProfiler, 可选内存检测,通过配置 FBMemoryProfiler 宏控制
├── Router -- 路由接口配置. url scheme 是 [mls]
├── Animations -- 全局转场动画配置
├── ThirdCode -- 修改过源码的三方库
├── ThirdLib -- 三方库 framework/lib
├── ThirdUI -- 三方UI模板[QMUIKit]
├── Unit -- 工具类
├── Categories -- 分类
├── Resource -- 资源
├── Moudles -- 模块
| ├── Base -- 基类
| ├── Update -- App升级模块
| ├── Main -- App 主页面模块 [UITabBarController/IIViewDeckController]
| ├── Comment -- 用户评论模块
| ├── Mine -- 个人中心模块
| ├── User -- 用户管理模块,注册,登录,以及跟用户相关的内容
| ├── Common -- 公用模块
| └── Config -- 项目配置模块
技术 | 名称介绍 | 官网 |
---|---|---|
BeeHive | 模块化编程 | https://github.com/alibaba/BeeHive |
JLRoutes | 路由[模块解耦] | https://github.com/joeldev/JLRoutes |
技术 | 名称介绍 | 官网 |
---|---|---|
YTKNetwork | 网络框架 | https://github.com/yuantiku/YTKNetwork |
HLNetWorkReachability | 网络状态检测 | https://github.com/Haley-Wong/HLNetWorkReachability |
技术 | 名称介绍 | 官网 |
---|---|---|
FBMemoryProfiler | 内存检测 | https://github.com/facebook/FBMemoryProfiler |
Reveal-SDK | 界面调试 | https://revealapp.com/ |
技术 | 名称介绍 | 官网 |
---|---|---|
WZProtocolInterceptor | 协议拦截 | https://github.com/haifengkao/WZProtocolInterceptor |
KVOController | 属性监听 | https://github.com/facebook/KVOController |
Aspects | AOP切面编程 | https://github.com/steipete/Aspects |
SAMKeychain | 钥匙串 | https://github.com/soffes/SAMKeychain |
CocoaLumberjack | 日志工具 | https://github.com/CocoaLumberjack/CocoaLumberjack |
技术 | 名称介绍 | 官网 |
---|---|---|
R.swift.OC | R.swift for OC | https://github.com/Minlison/R.swift.OC |
appledoc | 注释文档生成工具 | https://github.com/tomaz/appledoc |
fastlane | 自动打包 | https://github.com/fastlane/fastlane |
- Xcode9.2
- Moudle 新建模块放在 Moudles 文件夹下, 每个 Moudle 文件夹可有 Models, Protocols,ControllerViews, ViewControllers, Controllers, Views, Requests, Services 子文件夹
- ViewController 类,需要在叫名 ViewControllers 的文件夹下,并以 ViewController 结尾,如 BaseViewController
- ControllerView 类,需要在叫名 ControllerViews 的文件夹下,并以 ControllerView 结尾,如 BaseView , ViewController 会自动按照规则[控制器视图的 View 默认是 把 **ViewController 去掉 Controller 的 Class 创建一个 View]
- Controller 类 ,需要在叫名 Controllers 的文件夹下,并以 Controller 结尾,如 BaseController
- Request 类, ,需要在叫名 Requests 的文件夹下,并以 Request 结尾,如 BaseRequest
- View 类,需要在以 Views 的文件夹下
- 可自行定义规范