Just a heads up for my fellow Googlers, I was having trouble implementing this in my app. Using the simulator, iPhones would work, but iPads would not. I was seeing this error:
error: Error Domain=NSCocoaErrorDomain Code=4 "The file doesn't exist." UserInfo={NSUnderlyingError=0x60800044b3a0 {Error Domain=LSApplicationWorkspaceErrorDomain Code=-105 "iconName not found in CFBundleAlternateIcons entry" UserInfo={NSLocalizedDescription=iconName not found in CFBundleAlternateIcons entry}}}
I was referencing these two example repos:
https://github.com/steventroughtonsmith/AlternateIconTest
https://github.com/iSame7/AlternateAppIcons
I tried a bunch of debugging stuff and finally hit upon something that seems to help. I noticed if I replaced the contents of my "AppIcon.appiconset/Contents.json" file with one from the example repos, things seem to work on the iPad. I'm not 100% sure what's going wrong, but my Contents.json specifies a "filename" and I suspect that's the root of the problem.
Hopefully this helps future frustrated developers. Thanks!