openCV系列——第3周:项目设置
来源:互联网 发布:曦力软件 编辑:程序博客网 时间:2024/04/28 09:12
原文:
原文转载:http://blog.csdn.net/eminia/article/details/6639261
Git 和Xcode
单打独斗时,对于版本恢复就值得关注,应该用代码管理系统(SCM)。Git是一个共享的版本控制系统。有完整的历史记录和版本跟踪能力。并非要基于网络或中心服务器。和其他SCM系统相比,简单易用。对于个人开发者尤为适用,比如像我。
我用Xcode开发,是苹果的推荐的开发环境(IDE),但没法适用Xcode的内建SCM函数和Git交互。不过还好,我可以用terminal 终端,输入标准的Git命令行来解决。
要结合Git 和Xcode项目,先得过道坎——Git怎样控制Xcode的生成文件呢?在Git的根目录——之后我不再解释——添加.gitattributes
文件和.gitignore
文件,.gitattributes作用是让
Git能控制Xcode的文件。添加.gitignore
作用是给不需要维持版本的生成文件加上干扰信号。
初始文件.gitattributes
:
把Xcode 文件当做二进制来看。这就阻止Git去修复新加的代码行,而还是显示成不同的,也杜绝了Git对不同文件进行合并 。注意它会显示合并冲突的警告,尽管文件并没有改变。这样配置后,我们只用简单的把事情交给Git,就万事大吉了。
*.pbxproj -crlf -diff -merge
:初始文件
.gitignore
# Xcode 混淆器
# -----------
#
忽略*.xcodeproj 中除了project.pbxproj 之外的其他东西。比如:*.mode1v3,*.mode2v3 (用户特别的项目设置),*.pbxuser,*.perspective, *.perspectivev3, *.xcodeproj/*,
!*.xcodeproj/project.pbxproj
删除NIB文件,变成纯Xcode项目
如果你像我一样,也是旧校区的GUI 黑客,想自己用代码创建UI(译注:其实都这样做)。我想完全控制,还有速度优势(注意生词:speed bumps)——当然也有相反意见,如Matt Gallagher pointed out recently。
1 新建Window-based 项目。
2 删除MainWindow.xib
这个NIB 文件,用代码创建window 。(注意,以后都可以用套句在google搜索:create WHAT programmatically)
3 创建视图控制器MainViewController
,带头文件和实现文件,但不带NIB文件。再用程序把视图加到window上,
ApplicationDelegate
类:
MainViewController类:
4在
删除Main nib 整行。Info.plist
5在
main.m的程序初始函数的参数部分,
加上程序代理的类名。
int retVal = UIApplicationMain(argc, argv, nil, @"ApplicationDelegate");
6因为现在主窗口不是IB创建而是程序创建,所以主程序代理类中的IB输出口就没什么用了。所以我删掉了里面的 IBOutlet window 属性。你可以用
来访问主窗口。[UIApplication sharedApplication].keyWindow;
7
代码变化
因为是分布式的版本控制,所以分布式这一块内容并不是最吸引人的。最有意思的是这套系统不是以版本时间为指导思想,而是以变化时间为指导思想。这种版本控制的做法Joel Spolsky pointed out recently.有详细介绍。因此,我是以周为划分来做版本控制。
第3周的代码变化。
黄色的是标签,头部的是我当前的工作阶段。
- openCV系列——第3周:项目设置
- openCV系列——第1周 构思与开始
- openCV系列——第4周:获取iPhone摄像头
- openCV系列——第7周:在iPhone上运行OpenCV
- 第14周—项目3
- 第13周项目—阅读3
- 学习OpenCV:滤镜系列(3)——颜色变幻
- 学习OpenCV:滤镜系列(3)——颜色变幻
- 网站项目系列 第一篇
- 【OpenCV】OpenCV3的第一天——OpenCV的架构
- caffe安装系列——安装OpenCV
- 第7周项目3- C++游戏系列3:用多文件组织角色类
- 第11周项目5:歌手大奖赛计分系列
- C++第3周项目3——时间类
- C++第3周项目3——时间类
- 第3周项目3——多文件组织
- C++第13周项目3——汉诺塔
- C++第11周项目3——回文、素数
- SqlCommand.ExecuteNonQuery与SqlCommand.ExecuteScalar的区别
- loadrunner base64函数的应用
- uboot 详细注释讲解
- loadrunner 中GUID函数的应用
- oracle的五种约束
- openCV系列——第3周:项目设置
- 免费天气预报代码 滚动天气预报代码 大全
- SqlServer查询优化查看参数
- sys.all_sql_modules 视图, 它里面存储了函数,表,存储过程,视图等的定义语句
- bash编程中不得不注意的一些细节
- 代码注释规范(3)
- libpng 同 zlib配置使用
- iOS开发中常用代码
- socket 协议中的分割函数