作为一名工作了不短时间的iOS开发者,对一个完整的App所包含的功能模块有一点自己的认识。这里进行一个总结。
全局宏定义 打印函数、屏幕尺寸、weakself、iOS版本号、单例、去除警告等宏定义,配合预编译文件使用。
Category 相关类的Category,提供辅助功能,例如:提供使用十六进制数创建颜色的功能、图片旋转的函数等。
加密(Security) 用于网络信息或本地数据的加密。如md5等.
路径管理(PathManager) 获取各种路径,例如数据库路径等(Documents)。
三方库 涉及到的三方库,常用的有FMDB、AFNetworking、MBProgressHUD、SDWebImage等。
Crash收集模块(CrashLogger) 用于收集线上出现的crash,网络连通后传给服务器进行汇总,帮助开发解决问题.
升级模块(UpgradeManager) 监测新版本,根据服务器设置的版本升级策略(强制升级 or 可选升级)提醒用户升级到最新版本。
评价App模块(EvaluateManager) 用户使用一段时间或使用某种功能之后触发评价界面,引导用户对该App进行评价。需要指定合理的触发条件。
重新登录 检查账号状态,token或uid错误时,或多终端问题,让App自动退出登录。
网络通信模块Network 网络通信模块是App的基本模块。本人的一般做法是使用AFNetworking作为底层调用,再对其封装一层Net