How Do You AB Test Your iOS App Icon on App Store Connect?
Asked Answered
P

2

10

According to the docs you should be able to AB Test app icons now on iOS.

However, I can't figure out how to do it.

Here, it says you need to include an asset catalog that supports uploading alternate icons. https://help.apple.com/app-store-connect/#/devb53f12312

I've uploaded an app with alternate icons that the user can change in the app and that same binary includes an asset in the asset catalog for the alternate app icon. However, when I try to run an AB test on App Store Connect the icon field isn't present. I can only change the screenshots in a new treatment.

Plangent answered 30/12, 2021 at 23:32 Comment(2)
It works differently than with alternate icons. Apple states: Any app icons you want to use must be included in the app binary for the version currently on the App Store, and that app must use an SDK that supports alternate icons in asset catalogs. Icons must also be sized to 1024x1024 pixels. So the icons for A/B testing should go into the Assets catalog. It will then always be the default icon that appears on the home screen after installing the app and when you set UIApplication.shared.alternateIconName = nilBreakfast
Did you managed to solve this? I have a similar question here: #77351437Vanward
C
9

To AB Test app icons you need to set up icons the following way:

  1. Add alternative icons to an Asset Catalog (.xcassets) included in your target (use option iOS -> New iOS App Icon). You should supply all usable icon variations, including 1024x1024.
  2. Configure build system to preserve alternative icons. In the target build setting configure ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS to include all icons or ASSETCATALOG_COMPILER_ALTERNATE_APPICON_NAMES to include only some icons
  3. Upload and publish the app build to the AppStore
  4. Configure AB Test according to the Apple guide

ASSETCATALOG_COMPILER_ALTERNATE_APPICON_NAMES is useful when you have different icons for different build configurations and don't want to include them all in the app binary.

Note: you don't need to add CFBundleIcons keys to Info.plist. ASSETCATALOG params and .xcassets are enough.

Note 2: there seems to be a bug with Xcode 13.3.1 and iOS 14,15 simulator on M1 macs — alt icons are not working there. But everything works in physical devices and with iOS 13 simulator

Cycloid answered 25/4, 2022 at 12:44 Comment(4)
One important caveat that we just got bit by... releasing a new version of the app will stop your current test (even if all the same assets are available). From the Apple docs: > One test can be active at a time and you won’t be able to change it once it’s started. A test runs up to 90 days, unless you choose to stop it or release a new app version.Ambit
I am on Xcode 14.2 and there is no "Alternate App icons set" (ASSETCATALOG_COMPILER_ALTERNATE_APPICON_NAMES) in build settings. Do we not need to specify that anymore?Mond
@GrantOganyan I see them now in Xcode 14.3. Maybe they can be hidden by Xcode if you don't have asset catalogs in the target. I do think they are still requiredCycloid
@VoidLess and others, can confirm, the "Alternate App icons set" is not required. I uploaded as is and my icons are available for tests.Mond
G
-3

Per Apple

Choose an icon from the menu that appears. This menu shows all app icons included in your app’s binary.

so I think you've implemented alternate icons incorrectly check this example to see the correct way to implement this

Gide answered 8/1, 2022 at 21:39 Comment(1)
I've implemented mine the same way as you have in your example.Plangent

© 2022 - 2024 — McMap. All rights reserved.