Comprehensive Guide to iOS App Icon Specifications and Configuration: Solving the 120x120 Pixel Missing Issue

Dec 05, 2025 · Programming · 9 views · 7.8

Keywords: iOS App Icons | Icon Size Specifications | 120x120 Pixels | Asset Catalogs | info.plist Configuration

Abstract: This article provides an in-depth exploration of iOS app icon specifications, focusing on the common issue of missing 120x120 pixel icons. Based on Apple's official documentation and developer实践经验, it systematically analyzes icon size requirements from iOS 6 to the latest versions, detailing proper configuration of info.plist files and Asset Catalogs. Through practical cases and code examples, it offers complete solutions to help developers avoid validation failures during app submission.

In iOS app development, icon configuration is a critical aspect that appears simple but is prone to errors. Many developers receive Apple's review emails when submitting app updates, with messages like "Missing recommended icon file - The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format." This issue typically stems from insufficient understanding of iOS icon specifications or improper configuration.

Evolution of iOS Icon Specifications

As iOS versions continue to update, app icon size requirements also evolve. Understanding these changes is crucial for proper icon configuration.

For iOS 7 and later, iPhone and iPod touch devices require icons of the following sizes:

For iPad devices, the following sizes are required:

If the app needs to support iOS 6.1 and earlier versions, additional sizes are required:

Two Main Methods for Icon Configuration

In iOS development, there are primarily two methods for configuring app icons: manual configuration through info.plist files and using Xcode's Asset Catalogs.

Method 1: Manual Configuration via info.plist

This is the traditional configuration method, requiring developers to manually edit the project's info.plist file. Here are the specific steps:

First, create icon files that meet the size requirements. For example, for a 120x120 pixel icon, name it icon-120.png. Add these icon files to the project's Resources folder.

Next, open the ProjectName-Info.plist file in Xcode. If the "Icon files" entry is not found, add it by clicking the "+" button. In the added entry, set the names of all icon files, ensuring each size has a corresponding icon file.

Here is an example configuration code snippet:

<key>CFBundleIcons</key>
<dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>icon-60</string>
            <string>icon-120</string>
        </array>
    </dict>
</dict>

Method 2: Using Asset Catalogs

Starting with Xcode 5, Apple introduced Asset Catalogs to simplify the management of multi-resolution images. This method is more intuitive and easier to maintain.

To configure app icons using Asset Catalogs, first create a new Asset Catalog in the Xcode project. In the project settings, find the "App Icons and Launch Images" section and click the "Use Asset Catalog" button. The system will prompt whether to migrate existing icons and launch images; it is recommended to choose migration to ensure configuration integrity.

In the Asset Catalog, you can visually see all required icon sizes and directly drag and drop icon files of corresponding sizes to their positions. Xcode automatically handles the management of different resolution icons, significantly reducing the likelihood of configuration errors.

Common Issues and Solutions

In actual development, developers may encounter various icon-related issues. Here are some common problems and their solutions:

Issue 1: Incorrect Icon File Format

Apple requires app icons to be in PNG format. If other formats (such as JPEG) are used, you will receive an "Invalid Image" error during app submission. Ensure all icon files are valid PNG formats and do not use any special alpha channel settings.

Issue 2: Inaccurate Icon Sizes

Icon sizes must precisely match the requirements. For example, a 120x120 pixel icon must be exactly 120 pixels wide and 120 pixels high, not 119x121 or other close sizes. Use image editing tools (such as Photoshop or Sketch) to precisely adjust icon sizes.

Issue 3: Non-standard Icon Naming

Although iOS does not enforce specific icon naming rules, adopting consistent naming conventions aids management and maintenance. It is recommended to use naming patterns like icon-[size].png, such as icon-120.png, icon-152.png, etc.

Issue 4: Xcode Version Compatibility Issues

Certain Xcode versions may have bugs in icon handling. For example, some combinations of Xcode 9 and CocoaPods versions may cause icon display issues. If encountering such problems, try updating CocoaPods to the latest version or check for Xcode updates.

Best Practice Recommendations

Based on years of development experience, here are some best practices for icon configuration:

  1. Use Vector Source Files: Start with a high-resolution vector source file of 1024x1024 pixels, then export icons of various sizes. This ensures consistent visual quality across all icon sizes.
  2. Regularly Check Apple Documentation: Apple periodically updates icon size requirements, especially with new device releases. Regularly visit Apple's official documentation for the latest information.
  3. Use Automation Tools: Consider using automation tools to generate all required icon sizes. For example, online tools like MakeAppIcon can automatically generate all necessary sizes based on a single 1024x1024 source icon.
  4. Comprehensive Testing: Before submitting the app, test icon display on all target devices. Ensure icons display correctly on different resolutions and devices.
  5. Maintain Backward Compatibility: If the app needs to support multiple iOS versions, ensure all necessary icon sizes are provided. Missing any required size may cause app review failure.

Technical Implementation Details

From a technical perspective, iOS app icon management involves the协同工作 of multiple system components and configuration files. Understanding these underlying mechanisms helps better diagnose and solve problems.

When an app launches, the iOS system checks whether the app's bundle contains all required icon files. These checks are based on device type, screen resolution, and iOS version. The system first looks for configurations in the Asset Catalog; if not found, it falls back to checking configurations in info.plist.

For developers, it is important to ensure configuration consistency. Using both Asset Catalog and info.plist configurations simultaneously may lead to unpredictable behavior. It is recommended to choose one method and stick with it.

At the code level, you can check currently configured icons as follows:

// Get app icon information
if let icons = Bundle.main.infoDictionary?["CFBundleIcons"] as? [String: Any] {
    // Process icon configuration
    print("App icon configuration: ", icons)
}

This simple code snippet helps developers check app icon configurations at runtime, which is particularly useful for debugging complex icon issues.

Conclusion and Outlook

Properly configuring iOS app icons is a crucial part of the app development process. As the iOS ecosystem continues to evolve, icon sizes and requirements may continue to change. Developers need to maintain an understanding of the latest specifications and adopt best practices for managing app icons.

In the future, with the emergence of more device sizes and resolutions, app icon configuration may become more complex. However, by using modern tools like Asset Catalogs and following the best practices introduced in this article, developers can effectively manage this complexity, ensuring apps display perfectly on all devices.

Remember, the app icon is the user's first impression of the app. A well-designed, properly configured icon not only helps the app pass Apple's review but also enhances user experience and increases the app's appeal. Investing time in correctly configuring app icons is work that every iOS developer should prioritize.

Copyright Notice: All rights in this article are reserved by the operators of DevGex. Reasonable sharing and citation are welcome; any reproduction, excerpting, or re-publication without prior permission is prohibited.