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

发布于 2024-08-22 19:00:58 字数 315 浏览 6 评论 0原文

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

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

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

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

What I am trying to achieve is for the application icon to be different in builds that I send out to my beta testers, to that of the application that will be submitted for approval. This will allow me and my beta testers to easily identify the app is a beta version.

I was not sure if I should be adding a build script to modify the info.plist and change the application icon specified there. For this I guess I would have to conditional check the build type (DEBUG/RELEASE/DISTRIBUTION etc) and write the appropriate value to the plist file.

Alternatively I thought I might need to create a separate target for beta releases and specify the new BETA application icon there.

If anyone has done this kind of procedure before, any tips and ideas about how best to do it would be very much appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

烏雲後面有陽光 2024-08-29 19:00:58

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

原始答案:

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

我将这样做:

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

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

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

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

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

希望这有帮助!

Outdated: As of September 2017, my answer is probably outdated now. Please use latest Apple developer guides relating to Asset Catalogs. Asset Catalogs are the new way of specifying image/icon resources for your app.

Original answer:

Both ways you have mentioned can be used for this purpose (Through a separate Target or using Build settings). In my opinion, the more logical way would be to use a different build configuration and set the plist file to dynamically get the icon file name from the build configuration.

Here is how I would do it:

  1. In project build settings, create a new user-defined variable called ICON_FILE (for "All Configurations")
  2. Set the value of the variable to "Icon.png" (for "All Configurations")
  3. Create a new build Configuration called "Beta".
  4. Set the value of the ICON_FILE variable to "Icon-beta.png" for "Beta" configuration.

(this will make all the configurations have the value "Icon.png" except Beta config)

In the Info.plist set the value of "Icon file" attribute to ${ICON_FILE}. This will make the info.plist dynamically get the filename from the variable you defined earlier.

In your application resources, include the beta icon with the name "Icon-beta.png" in addition to "Icon.png" you already have.

If you build the app using "Beta" config, the app will have the beta icon as the app icon.

Hope this helps!

记忆で 2024-08-29 19:00:58

无需创建其他目标即可使用资产目录。

以下是我使用的步骤:

中创建两个(或更多)应用程序图标集

1 - 在 images.xcassets appIcon1
appIcon2

2 - 从项目设置创建另一个配置

演示配置

3 - 转到目标 ->构建设置并搜索应用程序图标。
您将在资产目录编译器 - 选项下看到资产目录应用程序图标集名称。更改将在新配置中使用的资产目录名称。

应用程序图标集配置名称

4 - 构建不同的配置。

模拟器屏幕截图

Asset catalogs can be used without creating another target.

Here are the steps I use:

1 - Create two (or more) app icon set in images.xcassets

appIcon1
appIcon2

2 - Create another configuration from project settings

demo configuration

3 - Go to Target -> Build Settings and search for app icon.
You will see Asset Catalog App Icon Set Name under Asset Catalog Compiler - Options. Change the asset catalog name that will be used in new configuration.

app icon set name for configurations

4 - Build for different configurations.

simulator screen shot

终难遇 2024-08-29 19:00:58

接受的答案不适用于 xcassets。
因此,如果您已经开始使用 xcassets 目录,请执行以下步骤:

您需要为应用程序创建 2 个不同的目标。
为此:

  1. 右键单击​​您的目标。 ->单击Duplicate(或Cmd+D
  2. 设置新目标的名称,例如MyApp-beta

创建单独的图标:

  1. 转到您的xcasset目录。
  2. 右键单击包含图像列表的列 ->单击新应用程序图标
  3. 将其命名为icon-beta,在此处添加您的测试版图标
  4. 单击您的测试版目标
  5. 转到选项卡常规 -> ; 应用程序图标 ->选择您的资产 icon-beta

就在这里。现在您可以构建您的测试版应用程序了!

与接受的答案中描述的方法相比,此方法的另一个优点是您可以同时安装应用程序的两个版本。 (您需要为此设置不同的Bundle Identifier)。

The accepted answer is not working for xcassets.
So, if you already started to use xcassets catalog here is the steps:

You need to create 2 different targets of your application.
To do this:

  1. Right click on your target. -> Click Duplicate (or Cmd+D)
  2. Set name of new target like MyApp-beta

Create separate icon:

  1. Go to your xcasset catalog.
  2. Right click on column with list of images -> click New App Icon
  3. Name it like icon-beta, add place here your beta icons
  4. Click on your beta-target
  5. Go to tab General -> App Icons -> select your asset icon-beta

Here it is. Now you can build your beta application!

Another advantage of this method over that described in the accepted answer - is that you can install both versions at the same time of your Application. (you need to set different Bundle Identifier for this).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文