手把手教你如何搭建iOS项目基本框架
- 格式:docx
- 大小:29.24 KB
- 文档页数:18
今天我们来谈谈如何搭建框架,框架需要做一些什么。
第一步:找到我们的目标
我们的目标是让其他开发人员拿到手后即可写页面,不再需要考虑其他的问题。第二步:我们需要做哪些东西
假定我们即将要写的项目是一个tabbar+navgation的项目结构。
1. 新建工程
1.1 删除不必要类目
选择Single ViewApplication,命名为HomeHome。删除选中的三项。
1.2 修改info.plist
1.删除info.plist main.storyboard字段
2.添加字段
info.plist 中添加以下
Bundle display name --- 对应应用名
开启http访问,不添加该字段导致不能访问http,只能访问https。
3.添加应用白名单
iOS9之后分享等必须添加白名单后才可以打开相关应用。字段值为LSApplicationQueriesSchemes
4. 添加URL Types
用于分享到QQ,微信等平台或者打开支付宝等,已经设置当前APP的Url shesmes
1.3 修改项目配置
关闭bitCode
build setting中搜索bitCode 改为NO
2.配置项目
2.1 建立目录
2.2 拖入各大依赖库
我在这里主要依赖了以下库:
∙AFNetWorking 网络请求
∙SDWebImage 图片加载
∙MWPhotoBrowser 图片浏览器
∙MJRefresh 刷新加载控件
∙RDVTabBarController 一个很好用的tabbar控件∙MBProgressHUD 菊花转圈
∙NJKWebViewProgress webview的加载进度条∙Masonry 用于适配
2.3 依赖常用第三方服务
通常集成了:
∙友盟分享
∙极光推送
∙腾讯bugly
∙Mob验证码服务
3. 编写代码
3.1 建立pch
xcode6之后建立pch 参考该网址
3.2 建立Api.h文件
该声明文件用于查询接口等
3.3 建立Config.h文件
该声明文件用于编写某些全局配置参数
如以下:
#define kPushPhotoBrowserNotifitationName @"PushPhotoBrowser"
#define kPresentVideoPlayerNotifitationName @"playCallBackVideo"
#define APPICONIMAGE [UIImage imageNamed:[[[[NSBundle mainBundle] infoDictionary]
valueForKeyPath:@"CFBundleIcons.CFBundlePrimaryIcon.CFBundleIconFiles"] lastObject]]
#define APPNAME [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"]
#define Main_Color [UIColor colorWithRed:(3)/255.0 green:(160)/255.0
blue:(235)/255.0 alpha:1.0]
#define Main2_Color [UIColor colorWithRed:(135)/255.0 green:(202)/255.0 blue:(231)/255.0 alpha:1.0]
#define VTColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0]
#define Text_Color [UIColor colorWithRed:(51)/255.0 green:(71)/255.0
blue:(113)/255.0 alpha:1.0]
#define BackGround_Color [UIColor colorWithRed:(235)/255.0 green:(235)/255.0 blue:(241)/255.0 alpha:1.0]
#define Default_Person_Image [UIImage imageNamed:@"default_parents"]
#define Default_General_Image [UIImage imageNamed:@"default_general"]
#define kScreenW [UIScreen mainScreen].bounds.size.width
#define kScreenH [UIScreen mainScreen].bounds.size.height
//以及各种第三方服务商的appId或者App key
3.4 开始编写项目结构
我们分别建立了3个AppDelegate的类别
∙HHAppDelegate+AppService //app的服务管理
∙HHAppDelegate+AppLifeCircle//app的生命周期管理
∙HHAppDelegate+RootController//app的跟视图控制器实例先看看HHAppDelegate+RootController
声明文件
/**
* 首次启动轮播图
*/
- (void)createLoadingScrollView;
/**
* tabbar实例
*/
- (void)setTabbarController;
/**
* window实例