You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

首次使用Xcode上传App至App Store遇ITMS-90709错误求助

Fixing ITMS-90709: Missing Background Layer 2x for tvOS "App Icon - Small"

Hey there, let's tackle this frustrating tvOS app icon error you're facing. ITMS-90709 is specifically tied to tvOS's layered app icon requirement for the "App Icon - Small" asset—so even if you've tried resizing images, you might be missing a key step in how tvOS expects these icons to be structured. Here are the most likely mistakes and how to fix them:

Common Missteps That Cause This Error

  • Confusing iOS and tvOS icon structures: Unlike iOS, tvOS app icons (especially the small variant) use a two-layer system: a foreground image and a solid background image. You probably tried uploading a single combined icon instead of splitting it into these two separate layers, or forgot to add the 2x version of the background layer.
  • Incorrect Asset Catalog setup: Your Assets.xcassets might not be using the proper tvOS icon template. If you just created a generic app icon set instead of the tvOS-specific "App Icon - Small" template, it won't have the required foreground/background sub-groups.
  • Wrong image properties: Even if the size is right, tvOS requires the background layer to be a non-transparent PNG. If your background image has an alpha channel (transparency), or is off by even 1 pixel in dimensions, it'll trigger this error.
  • Xcode cache or project conflicts: Old cached assets or conflicting Info.plist settings can override your new icon setup, making Xcode ignore the correct background layer you added.

Step-by-Step Fixes

1. Verify Your Asset Catalog Structure

Open your Assets.xcassets and locate the "App Icon - Small" set. Expand it—you should see two sub-groups: Foreground and Background, each with slots for 1x and 2x images. If this structure is missing:

  • Right-click in the Assets catalog > Select New App Icon
  • Choose the tvOS > App Icon - Small template (not the generic app icon)
  • This will create the proper layered structure automatically.

2. Re-Create and Assign the Background Layer 2x Image

  • The tvOS "App Icon - Small" background layer 2x needs to be 152x152 pixels, saved as a non-transparent PNG (no alpha channel). Use an image editor to export it without transparency (in Preview, go to File > Export and uncheck "Alpha").
  • Drag this image directly into the Background > 2x slot in your Asset Catalog—don't drag it into the main "App Icon - Small" group (that'll overwrite the layered structure).
  • Double-check that the Foreground > 2x slot also has the correct 152x152 image (this one can have transparency).

3. Clean Up Your Info.plist

  • Open your Info.plist file and look for keys like CFBundleIcons or CFBundleIcons~tvOS.
  • If you see manual entries pointing to individual icon files (not your Asset Catalog set), delete those keys. tvOS relies on the Asset Catalog to pull layered icons, so manual file paths will conflict.
  • Ensure the CFBundleIconName key points to your Asset Catalog's app icon set name (e.g., AppIcon).

4. Clear Xcode Caches and Rebuild

  • Go to Product > Clean Build Folder (hold the Option key while clicking Clean to see this option) to purge build artifacts.
  • Delete your Derived Data: Open Xcode > Preferences > Locations > Click the arrow next to the Derived Data path to open the folder, then delete the entire folder for your project.
  • Rebuild your project, create a new Archive, and try uploading again.

5. Double-Check the Sample Project Icons

If you used icons from a sample project, open that project's Assets.xcassets and look at how their "App Icon - Small" is structured. Chances are the sample uses separate foreground and background images—you need to copy those two images into the corresponding slots in your project, not just copy a single combined icon.

If All Else Fails

Create a brand new, empty tvOS project, add the correct layered "App Icon - Small" using the steps above, and try archiving/uploading it. If this works, the issue is likely a hidden conflict in your original project (like outdated build settings or third-party library interference). You can then compare the new project's configuration to yours to spot the difference.

内容的提问来源于stack exchange,提问作者kittencornball

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:07:58