用同一套代码写不同版本的客户端

最近公司的项目,需要对不同的攻略做定制版本。功能和主客户端差不多。开始想到的做法是人肉复制工程文件夹。然后把原来的项目改成需要的方式。但是这样很难做到多个客户端一起维护。要实现一个新功能需要在不同的项目中重复编码。非常之乏味。

这种场景最常见的是pro版和lite版。还有iPhone/iPod Touch版和iPad版。

这种情况下可以用xcode的target来解决。

在不同的target中设置不同的预处理宏,然后在代码中根据宏来编码。

Best Practices for Objective-C Coding

v2ex有朋友推荐了这篇文章。做了翻译。欢迎纠错和讨论


我通常不会在我的blog中写和技术非常相关的东西,但是我希望对Mac和iOS(iPhone & iPad)的开发社区做点贡献。所以,如果你不是apple开发者,自行绕道。

这篇文章积累了一些多年使用objc这门语言的一些程序员公认为有效的最佳实践。我之所以把它们称作为“戒律”,是因为有很多理由可以证明它们。但是当我把这些实践拿给别的开发者看,他们往往会非常反对。。。

xcode在编译时带上git版本信息

https://pic.yupoo.com/agassi/BR0aLf43/doX6m.png

上图的这个版本信息不是我手工加的,而是xcode编译的时候自动生成的。上图中我吧git最近得tag作为CFBundleVersion(Bulid),把最近得一个commit得SAH1作为CFBundleShortVersionString(Version)。

Caffeinated

昨天闲逛Mac App Store的时候发现了Caffeinated。这个软件之前还在Beta的时候在Lucifr那里看到过。

界面很漂亮细节很好。作为一个UI控就下手了。8.99刀60软美币。这类看Google reader的软件之前Reeder口碑很好。

相较之下caffeinated的界面更加小清新一点。目前功能很全。快捷键也很全,自定义也很方便。Reeder最近加入的功能,收藏到Safari的Reader List也有。和instapaper,read later,Readablity也整合了。

你好元慧,再见元慧!

一直想写这篇来着。上次写了一半又没有写下去。这次趁元旦放假,把它完成。当是对去年的总结。


大三的那个暑假,在快威报了个班。他们承诺是通过考试后,包工作安排的。工资也会在5k上下。大四开学后去了快威在南京的项目组。是跟国家电网做项目的,听起来是还算不错。但是去了以后发现不是我想要的那种感觉。在南京的那几天,vivian还跟我吵了一架。从来没有吵这么凶过,而且是在QQ两端。后来分析是因为害怕。怕以后我们都会相隔很远,很久才能见一次面。但是去南京之前,我是和她商量过的。当时她说过也希望我去外面闯闯之类的话。可是真的离开几天,就受不了。

呵呵,女人就是这样的吧。但是觉得也挺好。现在常说我留在杭州也全是托她的福。