I'm experiencing a persistent iOS Simulator app installation failure when running automated tests using Appium/XCUITest. The error occurs consistently across different simulator configurations and appears to be related to metadata handling during app installation.
Error Details
Primary Error: An error was encountered processing the command (domain=IXErrorDomain, code=2): Simulator device failed to install the application. Failed to create promise. Underlying error (domain=IXErrorDomain, code=2): Failed to set metadata for org.adblockplus.AdblockPlusSafari Failed to create promise. Host info: host: 'Client641', ip: 'fe80:0:0:0:18b4:d9ba:1e92:bc37%en0' Build info: version: '4.26.0', revision: '8ccf0219d7' System info: os.name: 'Mac OS X', os.arch: 'aarch64', os.version: '26.0', java.version: '22.0.2' Driver info: io.appium.java_client.ios.IOSDriver Command: [null, newSession {capabilities=[Capabilities {appium:app: /Users/n.bhadoria/IdeaProje..., appium:automationName: XCUITest, appium:deviceName: iPhone 16 Pro, appium:fullReset: true, appium:includeSafariInWebviews: true, appium:isHeadless: false, appium:language: en, appium:locale: EN, appium:newCommandTimeout: 60, appium:platformVersion: 18.6, appium:processArguments: {env: {featureFlags: login=false,subscription=false, testPagesEnabled: true}}, appium:wdaLaunchTimeout: 120000, platformName: IOS}]}] Capabilities {appium:app: /Users/n.bhadoria/IdeaProje..., appium:automationName: XCUITest, appium:deviceName: iPhone 16 Pro, appium:fullReset: true, appium:includeSafariInWebviews: true, appium:isHeadless: false, appium:language: en, appium:locale: EN, appium:newCommandTimeout: 60, appium:platformVersion: 18.6, appium:processArguments: {env: {featureFlags: login=false,subscription=false, testPagesEnabled: true}}, appium:wdaLaunchTimeout: 120000, platformName: IOS}
Environment Information
Hardware & OS:
- Mac: Apple Silicon (M2 Pro)
- macOS: 26.0 (Sequoia)
- Xcode: 16.0 & Version 26.0.1 (17A400)
- iOS Simulator: Multiple configurations tested
Affected iOS Versions:
- iOS 18.6 (iPhone 16 Pro)
- iOS 26.0 (iPhone 17 Pro)
- Issue appears consistent across iOS versions
Development Setup:
- Project: iOS Safari Extension app (Adblock Plus)
- Bundle ID: org.adblockplus.AdblockPlusSafari
- App Type: Safari Extension with main app component
- Test Framework: Appium 2.18.0 with XCUITest driver 9.3.1
- Language: Swift/Kotlin (test automation)
Build Configuration:
- App built from Xcode DerivedData
- Valid development signing
- App installs and runs normally when launched directly from simulator
- Issue only occurs during automated installation via Appium/XCUITest
Reproduction Steps
- Start iOS Simulator (tested on iPhone 16 Pro iOS 18.6, iPhone 17 Pro iOS 26.0)
- Launch Appium server (version 2.18.0)
- Attempt to install app via XCUITest driver with capabilities:
platformName: iOS deviceName: iPhone 16 Pro (or iPhone 17 Pro) platformVersion: 18.6 (or 26.0) automationName: XCUITest app: /path/to/AdBlock_for_Apps.app bundleId: org.adblockplus.AdblockPlusSafari fullReset: true 4. Installation fails with metadata error
Additional Context
What works:
- Manual app installation through Xcode
- Manual app launch from simulator home screen
- App functionality when installed manually
- Works consistently on both iOS 18.6 and 26.0 when installed manually
What fails:
- Automated installation through Appium/XCUITest on iOS 18.6
- Automated installation through Appium/XCUITest on iOS 26.0
- Occurs consistently across clean simulator instances
- Happens with both fresh simulators and existing ones
Cross-Version Testing:
- Tested on multiple iOS simulator versions (18.6, 26.0)
- Same error occurs regardless of iOS version
- Different device types show same behavior (iPhone 16 Pro, iPhone 17 Pro)
Troubleshooting Attempted:
- Clean simulator reset on both iOS versions
- Different iOS versions (18.2, 18.6)
- Verified app signing and provisioning profiles
- Checked simulator logs for additional details
- Tested with different Appium capabilities
Business Impact
This is blocking our automated test suite for iOS Safari Extension across multiple iOS versions, which is critical for regression testing and CI/CD pipeline. The app works perfectly when installed manually on all tested iOS versions, but automated testing infrastructure cannot proceed on any iOS version.
Any insights or workarounds would be greatly appreciated. Happy to provide additional logs, configurations, or testing if needed.
Xcode Version: 16.0 (16A242d) iOS Simulator Versions: iOS 18.6, iOS 26.0 Relevant SDKs: iOS 18.0, iOS 26.0, Safari Extensions