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在Info.plist删除Main nib 整行。

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周的代码变化。

黄色的是标签,头部的是我当前的工作阶段。