richardszalay / fastlane-plugin-act

Modify plists and app icons inside xcarchives/IPAs. Publish multiple iOS configurations without recompiling
MIT License
36 stars 5 forks source link

Support patching icons for iOS 11 / Xcode 9 #12

Open richardszalay opened 6 years ago

richardszalay commented 6 years ago

As raised by @sommestad of @SpringWorks, Xcode 9 now builds icons into the asset catalog and refers to them by name as CFBundleIconName.

Act should be updated to support this, but so far it's not entirely clear how this should happen. It looks like the icon needs to be part of the asset catalog, and also be rendered in a number of sizes/densities. Rather than looking to patch the .car asset catalog (while projects exist that do so, it's involved, and the format is subject to change), it might be best to look at whether the asset catalog used for the icon and switch it to a newly compiled asset catalog containing only the icon (and possibly background image?).

ghost commented 6 years ago

Any news on this issue? Thanks

richardszalay commented 6 years ago

Hi @DuboisJoris, take a look through this thread for an idea of what needs to be investigated nest.

I'm not working in the iOS space at the moment (and thus have no access to a Mac) so I'm not able to investigate further myself. Please let me know if you do manage to take a look at it yourself.

richardszalay commented 5 years ago

For anyone watching this thread, I've done some additional research and the docs seem to imply that it's totally valid to still use CFBundleIconFiles.

So as long as you're iconset contains all the up-to-date icon sizes (note the 1024x1024 app store version) then it should work.

Unless the documentation is wrong, the error you receive ("A value for the Info.plist key CFBundleIconName is missing in the bundle '") is probably just a bad error message, and what it means is that "there are required icon sizes missing".

If someone (cc @sommestad @thatjuan) can confirm this, I can update the README and even look at some automatic validation of iconsets to catch missing required sizes early.