Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
两个具有相同代码库的iPhone应用程序_Iphone_Objective C_Xcode_Ios - Fatal编程技术网

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

两个具有相同代码库的iPhone应用程序,iphone,objective-c,xcode,ios,Iphone,Objective C,Xcode,Ios,我想创建两个代码库非常相似的iphone应用程序。唯一的区别是一些设置和UI外观。而不是创建两个xcode项目并复制所有代码。有没有更好的方法来设置这个?为了更好的可维护性?95%的代码是相同的。是的,您可以这样做。您不应该像您已经猜到的那样创建两个XCODE项目 对于每个版本的代码差异,可以使用C预处理器指令#ifdef和相关命令 对于UI中的差异,您可以创建多个目标,如果需要,每个目标都使用不同的XIB文件 对于设置差异,您还可以创建多个目标,每个目标使用不同的.info文件 在XCODE中

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

是的,您可以这样做。您不应该像您已经猜到的那样创建两个XCODE项目

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

对于UI中的差异,您可以创建多个目标,如果需要,每个目标都使用不同的XIB文件

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


在XCODE中使用多个目标,查看并撰写日志。

将两个目标添加到同一项目中。为他们提供不同的Info.plist(请参阅“Info.plist”构建设置;他们不必添加到目标中);一个简单的方法是执行FooApp-Info.plist和BarApp-Info.plist

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

(您可以为不同“皮肤”的文件指定不同的文件名,但这很容易变得不可管理,并且不适用于像Default.png这样具有固定名称的文件。)