'How Do You AB Test Your iOS App Icon on App Store Connect?

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.



Solution 1:[1]

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

Solution 2:[2]

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

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 VoidLess
Solution 2 Jabbar