5

我正在寻找定制我们的 iOS 应用程序的最佳方法,以便我们可以轻松地创建它的白标版本并使它们保持同步。

一种方法是将整个代码库放在一个静态库项目中。然后为我们的主应用程序和每个白标应用程序创建一个单独的项目。这些项目都将包含对代码库库的引用作为子项目,以及它们自己的资产,如图标、加载图像和 Info.plist 文件。

我的同事在 Eclipse 中成功地将这种方法用于我们的 Android 姊妹项目。

不幸的是,这种方法可能不适用于 xcode。xcode 似乎不允许将某些资源与静态库捆绑在一起,例如必不可少的 Settings.bundle 和 Localizable.strings。

有什么办法可以在 xcode 中使用这种方法,还是我最好只从每个项目中引用代码库文件夹?

编辑:

最初我打算只从每个项目中引用代码库文件夹,但发现每次在代码库中添加/删除/重命名文件时,这种方法都需要在每个项目中重新添加代码库目录。

4

3 回答 3

4

我已经完成了白标应用程序。你应该先尝试目标。目标包含在项目中。您可以将源代码包含在同一个项目中。将所有变化的内容放入几个文件中,并改变您在每个目标中包含的那些文件。

您仍然需要确保文件在所有目标中,但您会收到提示或出现链接错误,如果您错过了包含该文件的文件,只需选中一个复选框。

您可以将特定于目标的文件保持在相当有限的范围内。我有一个通用的 xcassets 文件,每个目标都有一个。对于每个目标,我也有单独的 plist 和其他一些资源。其他一切都是共享的。

参考:

于 2012-06-14T06:13:38.523 回答
3

作为一个付费咨询项目,我正在审查一家公司的白标策略。他们创建了一系列 of.sh 文件,将整个构建复制到新名称中 - 包括新的 .plist 和项目文件。

他们没有考虑到这些应用程序的版本控制;因此,如果您可以这样构建您的应用程序,我认为库是最好的方法。您完全有可能拥有同一个白标应用程序的多个版本。(充其量是一场噩梦!!!哈哈)

您可能想要查看的另一件事是 CocoaPods。我没有使用过它,但我有朋友使用过——他们喜欢它,因为它有助于库管理——尤其是从一个开发环境到另一个开发环境。我需要在下个月使用它,因为每个人都要处理的 Zxing 路径混乱。

https://github.com/CocoaPods/CocoaPods

最后的建议 - 使用源代码管理就像没有明天一样!!!

于 2012-10-18T23:08:39.520 回答
2

您不能自动将资源与静态库捆绑在一起,但是没有什么可以阻止您手动包含共享资源。您可以为自定义项目创建工作区,将库的项目插入工作区,然后将资源组从库的项目树中拖到主项目中。

于 2012-06-14T06:48:18.523 回答