我想要实现的是,应用程序图标在我发送给我的beta测试人员的版本中与将提交审批的应用程序的版本不同。这将允许我和我的beta测试人员轻松识别该应用程序是测试版。
我不确定是否应该添加构建脚本来修改info.plist并更改其中指定的应用程序图标。为此,我想我必须有条件地检查构建类型(DEBUG / RELEASE / DISTRIBUTION等)并将适当的值写入plist文件。
或者我认为我可能需要为beta版本创建一个单独的目标,并在那里指定新的BETA应用程序图标。
如果有人以前做过这种程序,那么非常感谢任何有关如何做到这一点的提示和想法。
答案 0 :(得分:12)
过时:截至2017年9月,我的回答可能已经过时了。请使用与 Asset Catalogs 相关的最新Apple开发人员指南。资产目录是为您的应用指定图像/图标资源的新方法。
原始回答:
您提到的两种方式都可用于此目的(通过单独的Target或使用Build设置)。在我看来,更合乎逻辑的方法是使用不同的构建配置并设置plist文件以从构建配置中动态获取图标文件名。
我将如何做到这一点:
(这将使所有配置都具有值“Icon.png”,除了Beta配置)
在Info.plist中,将“图标文件”属性的值设置为${ICON_FILE}
。这将使info.plist从您之前定义的变量中动态获取文件名。
在您的应用资源中,除了您已经拥有的“Icon.png”之外,还应添加名为“Icon-beta.png”的测试版图标。
如果您使用“Beta”配置构建应用,该应用会将测试版图标作为应用图标。
希望这有帮助!
答案 1 :(得分:7)
可以在不创建其他目标的情况下使用资产目录。
以下是我使用的步骤:
1 - 在images.xcassets
中创建两个(或更多)app图标集2 - 从项目设置中创建另一个配置
3 - 转到目标 - >构建设置并搜索应用程序图标。 您将在资产目录编译器 - 选项下看到资产目录应用程序图标集名称。更改将在新配置中使用的资产目录名称。
4 - 针对不同配置构建。
答案 2 :(得分:1)
接受的答案不适用于xcassets。 所以,如果您已经开始使用xcassets目录,请执行以下步骤:
您需要为应用程序创建2个不同的目标。 要做到这一点:
Duplicate
(或 Cmd + D )创建单独的图标:
New App Icon
icon-beta
,在此处添加您的测试版图标General
- > App Icons
- >选择您的资产icon-beta
在这里。现在您可以构建您的beta应用程序了!
此方法相对于已接受答案中描述的方法的另一个优点是,您可以在应用程序的同时安装这两个版本。 (你需要为此设置不同的Bundle Identifier
。