如何配置我的 iPhone 项目以使用单独的应用程序图标进行测试版

2023-11-22

我想要实现的是,我发送给 Beta 测试人员的构建中的应用程序图标与将提交审批的应用程序图标不同。这将使我和我的 Beta 测试人员能够轻松识别该应用程序是 Beta 版本。

我不确定是否应该添加构建脚本来修改 info.plist 并更改其中指定的应用程序图标。为此,我想我必须有条件地检查构建类型(DEBUG/RELEASE/DISTRIBUTION 等)并将适当的值写入 plist 文件。

或者,我认为我可能需要为测试版创建一个单独的目标,并在那里指定新的测试版应用程序图标。

如果有人以前做过这种程序,我们将非常感谢任何关于如何最好地做到这一点的提示和想法。


过时的:截至 2017 年 9 月,我的答案可能已经过时了。请使用最新的 Apple 开发者指南资产目录。资产目录是为应用程序指定图像/图标资源的新方法。

原答案:

您提到的两种方式都可以用于此目的(通过单独的目标或使用构建设置)。在我看来,更合乎逻辑的方法是使用不同的构建配置并设置 plist 文件以从构建配置动态获取图标文件名。

我将这样做:

  1. 在项目构建设置中,创建一个名为 ICON_FILE 的新用户定义变量(针对“所有配置”)
  2. 将变量的值设置为“Icon.png”(对于“所有配置”)
  3. 创建一个名为“Beta”的新构建配置。
  4. 对于“Beta”配置,将 ICON_FILE 变量的值设置为“Icon-beta.png”。

(这将使除 Beta 配置之外的所有配置都具有值“Icon.png”)

在 Info.plist 中将“图标文件”属性的值设置为${ICON_FILE}。这将使 info.plist 动态地从您之前定义的变量中获取文件名。

在您的应用程序资源中,除了您已有的“Icon.png”之外,还包括名称为“Icon-beta.png”的 Beta 图标。

如果您使用“Beta”配置构建应用程序,则该应用程序将使用 beta 图标作为应用程序图标。

希望这可以帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何配置我的 iPhone 项目以使用单独的应用程序图标进行测试版 的相关文章

随机推荐

  • SQL Server 加入顺序

    我在输入中有 2 个字符串 例如 1 5 6 和 2 89 9 具有相同数量的元素 3 或以上 我想要的那两个字符串作为 纵坐标连接 1 2 5 89 6 9 我想分配一个行号并在 2 个结果集之间进行连接 SELECT a item b
  • 在 Java 中如何确定区域设置使用 12 小时还是 24 小时时间?

    在Java中 我只想打印一天中的时间 以小时和分钟为单位 并希望它根据区域设置在 13 00 和 1 00 PM 之间正确切换 我该怎么做呢 区域设置未明确指定首选 12 小时时间格式还是 24 小时时间格式 相反 区域设置特定的日期格式由
  • 将整数转换为 MIPS 中的双精度数

    我想将其中的两个值相除 tn寄存器 我必须将这两个值相除才能得到双倍结果 但是该函数div只返回该除法的整数部分有人可以帮忙吗 我需要转换吗 t1 and t2 to f0 and f2 我怎么做 li t1 2 li t2 5 div f
  • hbm.xml 中映射的属性可以是暂时的吗?

    假设我有一个User像这样的实体 class User private String login transient private String hashedPassword 我永远不想转移hashedPassword给客户 所以我把它变
  • 控制 Android 上的用户语言

    我有一个多语言应用程序 我想让用户能够控制使用哪种语言 这意味着即使他有英语区域设置 如果他愿意 他也可以使用不同的语言 如何更改区域设置语言 每个应用程序 Android 不提供更改应用程序区域设置的方法 它是在全系统一级完成的 我认为这
  • 如何调试缓慢的 Office 应用程序互操作构造函数?

    我有一个处理 Excel 的应用程序 最近我遇到了创建 Excel 对象非常慢的问题 我用这个简单的代码重新创建了这个问题 Microsoft Office Interop Excel Application xlApp xlApp new
  • 使用值绑定分配的依赖属性不起作用

    我有一个带有依赖属性的用户控件 public sealed partial class PenMenu UserControl INotifyPropertyChanged public event PropertyChangedEvent
  • 一组元素中具有最大高度的元素

    我有一套div元素 在jQuery 我希望能够找出div最大高度以及该高度div 例如 div div class panel Line 1 Line 2 div div class panel Line 1 br Line 2 br Li
  • 将数据框转换为每月时间序列

    我有一个 100 年每月数据 1200 个数据点 的数据框 其中月份在列中 年份在行中 我想将其转换为每月的时间序列 并且我尝试了多种方法 但没有一种方法可以创建正确的 时间 结构 问题在于 R 将数据框视为 12 个变量 月份 的 100
  • C 指针算术 sizeof(struct)

    这是有问题的代码 include
  • 在 DVCS 中维护 Changelog.txt 文件

    我正在开发一个使用大量分支的 git 项目 在大多数情况下 这是一个非常棒的工作流程 我很高兴在分支之间进行合并 喜欢能够挑选代码 以及 git 和其他 dvc 附带的整体生命周期 我有一个痛点 真的很痛 如何维护changelog txt
  • 在大型解决方案中编译 C# 项目时如何利用多核 CPU?

    据我所知 VS2008 MSBuild不支持C 项目的多线程编译 不知道VS2010是否支持 您知道有这样做的第三方产品或开源项目吗 确实是MSBuild确实支持多核 虽然它有点像黑客 有一些限制 更容易从命令行 同样 一些构建服务器 如果
  • Dotpeek重新编译反编译文件

    我如何重新编译我编辑的代码 或者用原来的文件替换并在dotpeek中另存为exe 我尝试重新编译编辑的文件并保存它 但我不能 如果您找到任何方法请分享 谢谢 右键单击 Assembly Explorer 窗格中打开的文件 然后选择 导出到项
  • 在联接表 JPA 2 中映射额外属性

    我正在尝试按照此链接建模这种关系http www javaworld com javaworld jw 01 2008 images datamodel gif 这是订单和产品之间通常的多对多关系 但我不知道如何在连接表中添加额外的列 En
  • 如何使用 C# 获取 Windows 上 chrome.exe 的路径?

    我想从我的自动化测试框架启动 chrome 以便我可以测试我的服务器端 ASP NET 代码 确定 chrome exe 在我的计算机上的位置的最佳方法是什么 当 Chrome 安装在计算机上时 它会安装ChromeHTML网址协议 您可以
  • 如何缩小 .git 文件夹

    我目前的基地总面积约为 200MB 但我的 git 文件夹有 5GB 的惊人大小 由于我将工作推送到外部服务器 因此我不需要任何大量的本地历史记录 如何缩小 git 文件夹以释放笔记本上的一些空间 我可以删除 30 天之前的所有更改吗 莱纳
  • C++ 中“(void) new”是什么意思?

    我一直在看 Qttutorial它使用了我以前从未见过的结构 void new QShortcut Qt Key Enter this SLOT fire void new QShortcut Qt Key Return this SLOT
  • 比较 groovy 中的版本字符串

    嘿 我创建了一个 Groovy 脚本 它将提取某些文件夹的版本号 然后我想比较版本号并选择最高的 我让脚本在 dir 文件夹中运行 然后获取以下格式的版本 02 2 02 01 所以我可以得到这样的东西 02 2 02 01 02 2 02
  • 用于 Python 的 MS Analysis Services OLAP API [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我正在寻找一种方法来连接到 MS Analysis Services OLAP 多维数据集 运行 MDX 查询并将结果提取到 Python 中 换句话说 这正是 Excel 所做
  • 如何配置我的 iPhone 项目以使用单独的应用程序图标进行测试版

    我想要实现的是 我发送给 Beta 测试人员的构建中的应用程序图标与将提交审批的应用程序图标不同 这将使我和我的 Beta 测试人员能够轻松识别该应用程序是 Beta 版本 我不确定是否应该添加构建脚本来修改 info plist 并更改其