Skip to main content

One post tagged with "Xcode"

View All Tags

· 11 min read

Apple's ITMS (iTunes Store) errors are usually related to submitting apps or content to the App Store, especially issues when using tools such as Transporter, App Store Connect API, and altool. Apple defines and manages these errors mainly to ensure developers comply with technical specifications and review guidelines, while providing tools and documentation to help developers resolve issues.

  • When submitting apps to App Store Connect, Apple's automated system runs pre-checks to detect common errors (such as signing and metadata format) and returns error codes and descriptions directly.
  • Developers must fix issues based on error prompts and resubmit.

I. ITMS Error Types

ITMS errors are typically numbered in ITMS-XXXXX format (e.g., ITMS-9000), covering the following common types:

  1. Metadata errors
    • Issues related to app name, description, screenshots, keywords, and other metadata.
  2. Binary file issues
    • Signing, architecture, or format errors in build versions (IPA files).
  3. Compliance issues
    • Violations of App Store Review Guidelines (such as missing privacy policy, use of private APIs, non-compliant data collection).
  4. Certificate and provisioning profile errors
    • Expired signing certificates, incorrect device permission configuration.
  5. Server or network issues
    • Submission failures caused by Apple server outages or unstable developer networks.

II. How to Handle ITMS Errors

1. Developer Support Channels

  • Contact Apple Technical Support: Submit issues through "Contact Us" in App Store Connect.
  • Developer Forums: Search for similar cases or ask questions in Apple Developer Forums.
  • Xcode and Transporter logs: Use detailed logs generated by tools to locate root causes.

2. Review Team Feedback

  • If the app passes pre-check but is rejected by the review team, developers receive an email with specific guideline clauses (such as violations of Guidelines 4.3, 5.1.1, etc.) and must fix and resubmit based on feedback.

III. ITMS Errors: Compilation and Binary Issues

ITMS-90668

Error Message

ERROR ITMS-90668: "Invalid Bundle Executable. The executable file contains incomplete bitcode."

Cause
Binary file does not correctly enable Bitcode or compilation parameters are incomplete.

Solution

  1. Option 1: Disable Bitcode
    Check whether Bitcode is enabled in the binary file:

    otool -arch arm64 -l ./MXFFI | grep __LLVM | wc -l
    • Result 0 means ENABLE_BITCODE = NO
    • Non-zero result means ENABLE_BITCODE = YES
  2. Option 2: Force remove Bitcode and re-sign

    # Remove Bitcode 
    xcrun bitcode_strip Flutter.framework/Flutter -r -o Flutter.framework/Flutter
    # Re-sign Framework
    codesign -fs "certificate name" Flutter.framework
    # Re-sign entire App
    codesign -fs "certificate name" --entitlements ${appPath}/entitlements.plist ${appPath}

ITMS-90087

Error Message

ERROR ITMS-90087: "Unsupported Architectures. The executable contains unsupported architectures [x86_64,i386]."

Cause
Binary contains simulator architectures (x86_64/i386).

Solution
Add a build script to remove invalid architectures:

APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}" find "$APP_PATH" -name '*.framework' -exec lipo -remove x86_64 {} -output {} \;

ITMS-90209

Error Message

ERROR ITMS-90209: "Invalid Segment Alignment. The binary does not have proper segment alignment."

Cause
Binary file segment alignment is abnormal.

Solution

  1. Upgrade Xcode to the latest version.
  2. Recompile third-party libraries using lipo.

ITMS-90125

Error Message

ERROR ITMS-90125: "The binary is invalid. The encryption info is missing or invalid."

Cause
Binary file encryption information is missing.

Solution
Ensure binary encryption flags are not manually modified; use Xcode's default build process.


TMS-90048

Error Message

ITMS-90048: This bundle is invalid - Your archive contains paths that are not allowed: [._Symbols]

Cause
The archive (.xcarchive) submitted to App Store Connect contains a hidden file ._Symbols that is not allowed.

On macOS 15.4, the APFS file system may automatically generate hidden files starting with ._ during file operations (such as rsync) to store Finder metadata or resource forks. During iOS builds, when the Symbols directory is generated, system file operations may trigger creation of the metadata file ._Symbols.

Solution
Solution 1: After building, unzip the IPA and delete ._Symbols
Solution 2: Submit through Product > Archive in Xcode


ITMS-90426

Error Message

ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.

Cause

SwiftSupport folder is missing

Solution

  1. Set Build Settings -> Always Embed Swift Standard Libraries to YES
  2. Repackage, then unzip the IPA and verify the SwiftSupport folder is included

IV. ITMS Errors: Version and Configuration Issues

ITMS-90060

Error Message

ERROR ITMS-90060: "Invalid CFBundleShortVersionString '1.2.2.1'. Must be a period-separated list of three non-negative integers."

Cause
Version number format does not meet the three-segment requirement.

Solution
Check CFBundleShortVersionString in all dependency libraries and change to three-segment format (e.g., 1.2.2).


ITMS-90062

Error Message

"This bundle is invalid. The value for key CFBundleShortVersionString [...] must contain a higher version"

Cause
Submitted version number is lower than the approved version.

Solution
Ensure both CFBundleShortVersionString and CFBundleVersion are higher than the most recently approved version.


ITMS-90725

Error Message

ITMS-90725: SDK Version Issue - This app was built with the iOS 15.5 SDK. All iOS apps submitted to the App Store must be built with the iOS 16.1 SDK or later, included in Xcode 14.1 or later."

Solution
Upgrade Xcode to 14.1 or later and recompile using iOS 16.1+ SDK.


ITMS-90098

Error Message

The bundle identifier contains disallowed characters

Solution
Check and modify Bundle Identifier to ensure it does not contain disallowed characters


ITMS-90186

Error Message

Invalid Pre-Release Train. The train version is closed for new build submissions

Cause

The pre-release train for this version is closed; new build submissions are not accepted

Solution
Check version settings in App Store Connect and ensure the submitted version number is correct


V. ITMS Errors: Privacy and Permission Issues

ITMS-91053, ITMS-91056, ITMS-91061

Error Message

ITMS-91053: Missing API declaration - Your app's code in the "Runner" file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryDiskSpace. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app's privacy manifest to provide approved reasons for these APIs used by your app's code. For more details about this policy, including a list of required reason APIs and approved reasons for usage, visit: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.

ITMS-91056: Invalid privacy manifest - The PrivacyInfo.xcprivacy file from the following path is invalid: "PrivacyInfo.xcprivacy". Keys and values in your app's privacy manifests must be valid. For more details about privacy manifest files, visit: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files.

ITMS-91061: Missing privacy manifest - Your app includes "Frameworks/X.framework/X", which includes X, an SDK that was identified in the documentation as a commonly used third-party SDK. If a new app includes a commonly used third-party SDK, or an app update adds a new commonly used third-party SDK, the SDK must include a privacy manifest file. Please contact the provider of the SDK that includes this file to get an updated SDK version with a privacy manifest. For more details about this policy, including a list of SDKs that are required to include signatures and manifests, visit: https://developer.apple.com/support/third-party-SDK-requirements.

Cause
On February 29, 2024, Apple released Privacy Updates for App Store Submissions, explicitly requiring new or updated apps to include a PrivacyInfo.xcprivacy privacy manifest file; otherwise review may be rejected. Some third-party SDKs integrated as binaries also require signatures.

Developers need to create a PrivacyInfo.xcprivacy privacy manifest file for the SDK.

  • NSPrivacyAccessedAPICategoryFileTimestamp
  • NSPrivacyAccessedAPICategoryUserDefaults
  • NSPrivacyAccessedAPICategoryDiskSpace
  • NSPrivacyAccessedAPICategoryUserDefaults

Solution

Manually create PrivacyInfo.xcprivacy (modify according to your situation)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyCollectedDataTypes</key>
<array/>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
</dict>
</array>
</dict>
</plist>

If you have many third-party SDKs, consider using automated fix scripts:

App Store privacy manifest analyzer:


ITMS-91061

Error Message

ITMS-91061: "Missing privacy manifest. Third-party SDK must include a privacy manifest."

Solution
Contact third-party SDK providers to obtain updated versions that include privacy manifests.


ITMS-90683

Error Message

"Missing Info.plist key. Your app's code references [...] but the Info.plist file does not contain [...]"

Cause
Accessing sensitive data (such as location, camera) without providing privacy descriptions.

Solution
Add corresponding keys in Info.plist:

  • NSLocationWhenInUseUsageDescription
  • NSCameraUsageDescription

ITMS-90078

Error Message

"Missing push notification entitlement [...] entitlements do not include the 'aps-environment' entitlement"

Cause
App contains APNs-related APIs but does not declare push notification entitlement

Solution

  1. Enable push notifications in project Capabilities
  2. Check whether third-party libraries implicitly reference APNs APIs; use nm or otool to inspect symbol references in binaries

VI. ITMS Errors: Signing and Provisioning Profile Issues

ITMS-9000

Error Message

ERROR ITMS-9000: "The binary you uploaded was invalid."

Cause
Provisioning profile expired or was deleted.

Solution
Regenerate and download provisioning profile; repackage with valid profile.


ITMS-90165

Error Message

ERROR ITMS-90165: "Invalid Provisioning Profile Signature. The provisioning profile [...] is not valid"

Cause

Provisioning profile signature is invalid (caused by Apple updating signing mechanism)

Solution

  1. Re-edit and download provisioning profile.
  2. Delete old files and repackage.

ITMS-90046

Error Message

ERROR ITMS-90046: "Invalid Code Signing Entitlements"

Cause
Code signing entitlements are invalid—possibly due to provisioning profile issues or non-standard Bundle Identifier naming

Solution
Check provisioning profile configuration and ensure Bundle Identifier naming meets requirements


ITMS-90535

Error Message

Invalid Code Signing Entitlements

Cause
Bundle Identifier, version number, or other information in third-party info.plist files is not correctly configured

Solution
Modify third-party info.plist files and add correct Bundle Identifier, version number, and other information


VII. ITMS Errors: UI and Icon Issues

ITMS-90809

Error Message

ERROR ITMS-90809: "Deprecated API Usage. UIWebView is no longer accepted."

Solution
Replace UIWebView with WKWebView and recompile.


ITMS-90022, ITMS-90025

Error Message

# ITMS-90022
Missing required icon file. The bundle does not contain an app icon for iPhone / iPod Touch of exactly '57x57' pixels, in.png format for iOS versions < 7.0
# ITMS-90025
Missing recommended icon file. The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in.png format for iOS versions >= 7.0

Solution
Add icons of corresponding sizes in AppIcon.appiconset in images.xcassets and configure in Contents.json


ITMS-90705

Error Message

Launch storyboard not found. Make sure you specify the launch storyboard filename without a filename extension for the key UILaunchStoryboardName in the Info.plist

Cause

Launch storyboard not found; UILaunchStoryboardName value in Info.plist is incorrect

Solution
Check UILaunchStoryboardName value in Info.plist and ensure it matches the launch storyboard filename without extension


ITMS-90096

Original Error Message

Missing recommended icon file. The bundle does not contain an app icon for iPhone / iPod Touch of exactly '57x57' pixels, in.png format for iOS versions < 7.0

Cause

App is missing LaunchImage or LaunchImage configuration has issues

Solution
Add launch images of corresponding sizes to project root and modify info.plist, or check whether LaunchScreen.storyboard exists


VIII. ITMS Errors: Other Common Issues

ITMS-90474 / ITMS-90475

Error Message

ERROR ITMS-90474: "Invalid Bundle. iPad Multitasking support requires these orientations: 'UIInterfaceOrientationPortrait,UIInterfaceOrientationPortraitUpsideDown,UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight'. Found 'UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight' in bundle '...'."

ERROR ITMS-90475: "Invalid Bundle. iPad Multitasking support requires launch story board in bundle '..."

Cause iPad split-screen adaptation requires full-screen declaration

Solution
Add to Info.plist:

<key>UIRequiresFullScreen</key> <true/>


ITMS-90529

Error Message

ERROR ITMS-90529: "IInvalid package. Applications built with sdk 9.0 or later must be packaged as proper IPA files"

Cause

Incorrect packaging method; not using .ipa file format

Solution
Place compiled .app in Payload folder and compress as .ipa file.


ITMS-90983

Error Message

ERROR ITMS-90983: "Missing purpose string in Info.plist for media classification."

Cause

iOS 16 and above require purpose strings for media classification in Info.plist

Solution
Add media classification descriptions in Info.plist:

  • NSMediaLibraryUsageDescription
  • NSAppleMusicUsageDescription