白色标记iOS应用程序

问题描述 投票:8回答:4

我有一个项目,我想白色标签。基本上只需更改图标,启动图像和info.plist。问题是项目太大了,我真的不想为它添加额外的目标和资源。

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

问题在于实施。我将项目链接为依赖项,因此我与目标相同。但每次我构建应用程序时,它都会创建一个带有原始名称的可执行文件,即使它在info.plist中有所不同。可能这是因为原始目标有自己的info.plist。另一件事是如何用原来的目标替换原始目标的资源。

感谢任何帮助

ios xcode build target
4个回答
2
投票

我在我的工作中做到了这一点,我是如何做到的,我有一个我编写的python脚本,用一个替换值列表操作Info.plist,我将其存储在另一个plist文件中。我们还有一个构建步骤脚本,可以为该特定构建注入所需的任何资源。

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


17
投票

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

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

我们避免使用@dtrotzjr上面提到的方法,因为Info.plist文件之外的一些东西我们需要根据目标进行更改...供应配置文件是一个很好的示例以及预处理器宏来处理偶尔的#ifdef客户端黑客。

它还使新开发人员更容易理解构建过程。


0
投票

0
投票

我们使用Bash脚本。复制并替换应用程序图标,初始屏幕,常见问题解答,分析配置文件等。然后将配置JSON文件传递给不同功能的品牌颜色和布尔值。当您开始使用sed添加和删除平板电脑支持时,它会变得有点复杂。运行需要几秒钟。它还有助于使用PDF作为资产,如果资产只有一种颜色,那么你可以使用tintColor作为品牌颜色。

使用Bash的好处是可以在所有CI系统上使用。

附: Apple仍然接受白标应用。只要客户签署xcarchive文件,您将其作为自己发送,那么您应该没问题。

© www.soinside.com 2019 - 2024. All rights reserved.