具有相同代码库的两个 iPhone 应用程序
Posted
技术标签:
【中文标题】具有相同代码库的两个 iPhone 应用程序【英文标题】:Two iPhone Apps with same code base 【发布时间】:2010-09-27 00:01:07 【问题描述】:我想创建两个代码库非常相似的 iPhone 应用程序。唯一的区别是一些设置和 UI 皮肤。而不是创建两个 xcode 项目并将所有代码复制过来。有没有更好的方法来设置它?为了更好的可维护性? 95% 的代码都是一样的。
【问题讨论】:
【参考方案1】:是的,你可以这样做。您不应该按照您的猜测创建两个 XCODE 项目。
对于每个版本的代码差异,您可以使用 C 预处理器指令。 #ifdef
及相关命令。
对于 UI 的差异,您可以创建多个目标,如果需要,每个目标都使用不同的 XIB 文件。
对于设置差异,您还可以创建多个目标,每个目标使用不同的 .info 文件。
查看this 和this 关于在XCODE 中使用多个目标的博客文章。
【讨论】:
【参考方案2】:将两个目标添加到同一个项目。为他们提供不同的 Info.plist(参见“Info.plist”构建设置;不必将它们添加到目标中);一个简单的方法是做 FooApp-Info.plist 和 BarApp-Info.plist。
将“可换肤”资源放在您添加到 Xcode 的应用特定目录中。在Xcode中的目录上“Get Info”,点击“targets”,确保只有正确的target包含每组资源)。
(您可以为不同的“皮肤”赋予不同的文件名,但这很容易变得难以管理,并且不适用于像 Default.png 这样具有固定名称的文件。)
【讨论】:
以上是关于具有相同代码库的两个 iPhone 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
我可以提交具有相同 Icon.png 但不同包名称的 iPhone 应用程序吗