1

I'v been trying to upload a build of an app that has been on the AppStore for years, and every time I do, I get the following error.

[Transporter Error Output]: ERROR ITMS-90704: "Missing App Icon. An app icon measuring 1024 by 1024 pixels in PNG format must be included in the Asset Catalog of apps built for iOS, iPadOS, or watchOS. Without this icon, apps cannot be submitted for review. For details, see https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/app-icon/."

The message is clear but I think it is wrong, since I have had the current Assets Catalog in place for more than 3 years and never had issues before. I also have completely replaced it for a new one in the attempt of fixing some weird issue on the project / catalog side.

The icon that is mentioned is there, as a RGB, Non Alpha PNG.

The only big change done lately to the project, beside moving to xCode 12, is the support for Catalyst. I think it might be related to it, but I'm completely clueless on how.

I'v also checked the Assets.car on the ipa and, despite not finding the icon there by itself, i find some images that are groups of the icon in different sizes... not sure of what to think of it :)

JMiguel
  • 1,459
  • 1
  • 10
  • 12
  • Did you search on the error? I found two links immediately: https://stackoverflow.com/questions/46406686/xcode9-warning-items-90704-error-itms-90022 and https://stackoverflow.com/questions/46771321/missing-marketing-icon-xcode-bug/47885406#47885406 – David H Sep 30 '20 at 11:16
  • yeah sure I did... And as you can notice, all of those "solutions" are at least 2 years old, And I haven't had issue for at least 3 (last asset change, as mentioned above). – JMiguel Sep 30 '20 at 12:08
  • @JMiguel Did you resolve this issue? – Dave Nottage Oct 05 '20 at 04:46
  • @DaveNottage No. I'm now assuming it is related to something with Big Sur's beta and that Apple will fix it for me (all hope of fixing it myself is gone for now :D ). For example, Transporter app also had issues connecting to iTunesConnect. – JMiguel Oct 05 '20 at 11:21
  • Finally got back to this and went again through the checklist of what could be wrong... I finally was able to upload a build after removing every check for Mac support (catalyst) on all the targets. No further changes where required – JMiguel Oct 20 '20 at 09:00
  • Note: The final versions of XCode and BigSur did not solve this issue for me. I still have to disable catalyst support every time I need to release an iOS version. – JMiguel Dec 04 '20 at 13:26

1 Answers1

0

So... this is my "solution" for this issue. I'd rather not have to hack my way around it... but by now I'v lost all hope of finding the reason for this behaviour on my project :p

Since the delivery error only happens for the iOS ipa and it doesn't require having the catalyst configurations set... I'm doing the following on the podfile to disable them. It ends up being a quite clean approach because the project already has some libs that are not being used on both ios and catalyst... therefore it was already required to update the pods when changing platform.

$compileForIOS = false

post_install do |installer|
  
  # main project
  project_name = Dir.glob("*.xcodeproj").first
  project = Xcodeproj::Project.open(project_name)
  
  project.targets.each do |target|
    
    # disable catalyst support when compiling for iOS
    # iOS delivery to TestFlight won't work if enabled :/
    if target.name == "TargetName" || target.name == "TargetNameExtension"
      target.build_configurations.each do |config|
        
        config.build_settings['SUPPORTS_MACCATALYST'] = $compileForIOS ? 'NO' : 'YES'
        config.build_settings['TARGETED_DEVICE_FAMILY'] = $compileForIOS ? '1,2' : '1,2,6'
        
        if $compileForIOS
          config.build_settings.delete('IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]')
        else
          config.build_settings['IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]'] = '14.2'
        end
      end
    end
  end
  
  project.save

end
JMiguel
  • 1,459
  • 1
  • 10
  • 12