CommonProject是一个iOS应用程序模板项目,提供了完整的项目架构和常用功能模块,可以作为新项目的起点。
- 开发语言:Objective-C
- 最低支持iOS版本:iOS 13.0
- 包管理工具:CocoaPods
-
AppDelegate:存放AppDelegate类及其分类
- 负责应用程序的生命周期管理
- 配置第三方库(键盘管理、网络请求、下拉刷新等)
-
Business:业务模块,主要放各个模块的view、controller、(ViewModel)
- Base:基础控制器
- BaseViewController:所有控制器的基类,提供导航栏配置等通用功能
- Home:首页模块
- Launch:启动页模块
- Login:登录模块
- MainTab:主标签栏模块
- MainTabBarController:管理应用的主要标签页
- Mine:我的模块
- MineViewController:个人中心页面
- Base:基础控制器
-
Lib:第三方库
- Debouncer:防抖动工具
- FDFullscreenPopGesture:全屏返回手势
- Localized:本地化工具
- MBProgressHUD+Ext:加载提示扩展
- NullSafe:空值安全处理
-
Util:工具类
- Manager:全局管理类,如登录信息、用户信息的缓存管理
- Categories:扩展功能的分类
- Macros:常用的宏
- URLMacros:URL相关宏定义
- UtilsMacros:工具类宏定义
- ConstMacros:常量宏定义
- Factory:工厂类
-
Resources:资源文件
- Assets.xcassets:图片资源
- Info.plist:应用配置信息
- PrefixHeader.pch:预编译头文件
- 多语言支持文件(en.lproj、zh-Hans.lproj)
-
Model:数据模型
- BaseRequestModel:基础请求模型
-
Request:网络请求
- DefaultServerRequest:默认服务器请求类,基于YTKNetwork
-
Setting:设置模块
- LanguageSettingVC:语言设置
- SettingViewController:设置页面
-
基础架构
- 标签栏导航结构
- 基础控制器封装
- 网络请求封装
-
工具类
- 常用宏定义
- 分类扩展
- 全局管理类
-
第三方库集成
- 网络请求:AFNetworking、YTKNetwork
- 模型转换:YYModel
- 缓存管理:YYCache
- 分类工具:YYCategories
- 下拉刷新:MJRefresh
- 键盘管理:IQKeyboardManager
- 布局工具:Masonry
- 图片加载:SDWebImage
- 轮播图:SDCycleScrollView
- 空白提示:DZNEmptyDataSet
- 加载提示:MBProgressHUD
- 弹出视图:FFPopup
- 徽标显示:PPBadgeView
- 克隆项目
- 运行
pod install安装依赖 - 打开
CommonProject.xcworkspace开始开发
如果你想将项目名称从 CommonProject 修改为你自己的项目名称,请按照以下步骤操作:
在开始之前,请确保:
- 已备份项目
- 关闭 Xcode
- 记录你想要的新项目名称(本教程中以 "NewProjectName" 为例)
-
重命名项目文件夹(可选)
- 将 CommonProject 文件夹重命名为 NewProjectName
-
重命名 Xcode 项目文件
-
用 Xcode 打开项目,先将
CommonProject目录重命名为NewProjectName -
将
CommonProject.xcodeproj重命名为NewProjectName.xcodeproj -
重新建一个 Scheme
-
再点击 Manage Scheme 删除就的 CommonProject Scheme
-
Build Settings 中搜索 CommonProject 主要
Info.plist File和Prefix Header的路径改成新的NewProjectName -
修改 Podfile 中的 target,改成 NewProjectName 然后关闭 Xcode ,重新执行
pod install -
会生成
NewProjectName.xcworkspace,将旧的CommonProject.xcworkspace删除,打开NewProjectName.xcworkspace运行项目 -
最后删除就的 pod 引用
-