两个具有相同代码库的iPhone应用程序

时间:2010-09-27 00:01:08

标签: iphone objective-c xcode ios

我想创建两个具有非常相似代码库的iphone应用程序。唯一的区别将是一些设置和UI皮肤。而不是创建两个xcode项目并复制所有代码。有没有更好的方法来设置它?为了更好的可维护性? 95%的代码是相同的。

2 个答案:

答案 0 :(得分:9)

是的,你可以这样做。您不应该创建两个正在猜测的XCODE项目。

对于每个版本的代码差异,您可以使用C预处理程序指令。 #ifdef和相关命令。

对于用户界面的差异,您可以根据需要创建多个目标,每个目标使用不同的 XIB 文件。

对于设置差异,您还可以创建多个目标,每个目标使用不同的 .info 文件。

在XCODE中查看有关使用多个目标的thisthis博客条目。

答案 1 :(得分:0)

将两个目标添加到同一个项目中。给他们不同的Info.plists(参见“Info.plist”构建设置;不必将它们添加到目标);一个简单的方法是做FooApp-Info.plist和BarApp-Info.plist。

将“skinnable”资源放在特定于应用程序的目录中,并将其添加到Xcode中。在Xcode中的目录上“获取信息”,单击“目标”,并确保只有正确的目标包含每组资源。)

(您可以为不同的“皮肤”提供不同文件名的文件,但这很容易变得无法管理,并且对于具有固定名称的Default.png这样的东西不起作用。)