During a normal submission process, after uploading the IPA, a prompt was quickly received:
ERROR ITMS-90704: Missing Marketing Icon
There were no crash logs or compilation errors; it was just rejected during upload. If you directly modify configurations for such issues, it’s easy to repeatedly trial and error. A safer approach is to first confirm whether the icon is actually present in the IPA.
1. Don’t Modify the Project First; Check the IPA Content
Many people’s first step is to open Xcode and modify Assets, but a more direct way is to first confirm if the IPA package truly contains the 1024 icon.
You can directly unpack the IPA:
unzip app.ipa -d ipa_tmp
Enter the directory:
ipa_tmp/Payload/YourApp.app/
Then check:
- Whether
Assets.carexists - Whether AppIcon resources exist
If Assets.car exists but the error persists, further judgment is needed:
Does Assets.car contain the 1024x1024 marketing icon?
2. Common Misconception: Having Icons ≠ Having the Marketing Icon
In Assets.xcassets:
- AppIcon contains multiple-sized icons
- But the 1024x1024 is a “separate requirement”
Errors typically occur when:
- Only sizes like 180 / 120 / 60 are configured
- Or the 1024 icon is not correctly packaged
3. Verify Assets.car Content (Key Step)
On macOS, you can use:
assetutil --info Assets.car
Look for in the output whether it contains:
"SizeOnDisk": 1024x1024
If not, it indicates:
- The marketing icon was not included during packaging
- Or the icon set configuration is incomplete
4. Several Specific Scenarios Where the Issue Occurs
Based on practical troubleshooting, several triggering scenarios can be summarized:
Scenario 1: Icon File Exists but Is Not Referenced
There is a 1024 image in Assets, but:
- It was not dragged into AppIcon
- Or the corresponding position was not checked
Scenario 2: Using Third-Party Packaging Tools
For example:
- HBuilder
- Some cross-platform tools
If these tools do not correctly generate Assets.car, it can lead to:
- Icons existing
- But not being included in the final package
Scenario 3: Icon Format Does Not Meet Requirements
Even with the correct size, it may fail if:
- It’s not PNG
- It uses an alpha channel (in certain scenarios)
- The color space is not RGB
5. Repair Process
Step 1: Prepare the Correct Icon
Requirements:
- 1024x1024
- PNG
- RGB
Step 2: Regenerate Complete Icon Resources
Manual handling can easily miss sizes; you can directly use tools to generate complete resources.
For example, using the icon generation tool from AppUploader (Happy Upload):
- Open the icon generation page
- Upload the 1024 original image
- Automatically generate all required sizes for iOS
- Export Assets.car or icon resources

This helps avoid:
- Missing sizes
- Naming errors
- Format issues
Step 3: Replace Project Icons
In Xcode:
- Open Assets.xcassets
- Delete the old AppIcon
- Import the newly generated icon set
- Confirm the 1024 icon is filled
Step 4: Repackage
Execute Archive → Export IPA.
Step 5: Verify the IPA Again
Repeat the first step:
- Unpack the IPA
- Check Assets.car
Confirm it contains the marketing icon.
6. Checks During the Upload Phase
Before uploading, you can add a check action:
- Confirm icon configuration in Info.plist
- Confirm Assets.car exists
- Confirm Bundle ID is correct
If using a Windows upload tool, such as AppUploader:
- Select the IPA
- Check files before uploading
- Switch upload channels
- Submit the upload
This can reduce repeated failures.
ITMS-90704 indicates that the final package lacks a compliant marketing icon, not that the icon is missing.