白色标记一个iOS应用程序

我有一个我想要白色标签的项目。 基本上只有图标,启动图像和info.plist必须改变。 问题是,项目太大,我真的不想增加额外的目标和资源。

我看到的解决scheme是创build一个单独的项目,并添加第一个作为依赖项目。 这个白色标签项目将没有代码,但有一堆目标不同的图像和信息。 在这种情况下,每当我想为应用程序添加白色标签时,我都会使用自己的一组图像创build另一个目标。 而且每当我想制作另一个版本时,我都可以轻松构build所有这些目标,并为同一个应用程序获得一堆变体。 听起来很容易。

问题在于执行。 我把这个项目作为一个依赖关系,所以我和目标一样。 但是,每次构build应用程序时,都会使用原始名称创build可执行文件,即使它在info.plist中有所不同。 可能这是因为原来的目标有它自己的info.plist。 另一件事是如何用另一个replace原来的目标资源。

感谢任何帮助

我在我的工作做了这个,我是如何做到这一点是我有一个我写的Python脚本,并进行操作Info.plist的替代值列表,我存储在一个替代plist文件。 我们还有一个构build步骤脚本,用于为特定构build注入所需的任何资源。

你可以操纵所有你想要的包,但是你必须在Xcode签名应用程序之前完成。 在某些情况下,您可能想要进入并编辑包中的Info.plist,这很好,只需在签名步骤之前执行即可。

我目前pipe理一个whitelabeled的iOS应用程序。 我们将每个白标签客户端的目标添加到主项目中,并通过Theme.plist文件使我们的应用程序的大部分部分可configuration。

因此,每个目标都包含应用程序的所有类,但具有自定义的Info.plist ,图标,启动屏幕,字体文件和Theme.plist

我们避免了@dtrotzjr上面提到的方法,因为Info.plist文件之外有一些东西我们需要针对每个目标进行更改… Provisioning Profile是一个很好的例子,以及预处理器macros来处理偶然的#ifdef为每个客户端黑客。

这也使得新开发者更容易理解构build过程。

苹果现在拒绝所有的白色标签应用程序,看到这个: https : //blog.summitsync.com/did-apple-just-crush-white-label-apps-4aee14d00b78