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

React Native CLI项目iOS模拟器报错:无法创建Promise及Bundle ID不匹配

React Native iOS模拟器启动报错排查

问题现象

运行基于React Native CLI构建的iOS项目时,模拟器弹出提示:

Simulator device returned an error for the requested operation. Failed to create promise.

点击「详情」后,终端显示核心错误信息:

Details

Simulator device returned an error for the requested operation.
Domain: IXErrorDomain
Code: 2
Failure Reason: Failed to create promise.
User Info: {
    DVTErrorCreationDateKey = "2023-04-23 06:42:07 +0000";
    FunctionName = "+[IXPlaceholder _placeholderForBundle:client:withParent:installType:metadata:placeholderType:mayBeDeltaPackage:error:]";
    IDERunOperationFailingWorker = IDELaunchiPhoneSimulatorLauncher;
    SimCallingSelector = "installApplication:withOptions:error:";
    SourceFileLine = 884;
}
--
Failed to set app extension placeholders for com.companyname.[applicationname]
Domain: IXErrorDomain
Code: 2
Failure Reason: Failed to create promise.
User Info: {
    FunctionName = "+[IXPlaceholder _placeholderForBundle:client:withParent:installType:metadata:placeholderType:mayBeDeltaPackage:error:]";
    SourceFileLine = 884;
}
--
Attempted to set app extension placeholder promise with bundle ID ccom.companyname.[applicationname] that does not match required prefix of com.companyname.[applicationname]. for parent
Domain: IXErrorDomain
Code: 8
Failure Reason: Mismatched bundle IDs.
User Info: {
    FunctionName = "-[IXPlaceholder setAppExtensionPlaceholderPromises:error:]";
    SourceFileLine = 1392;
}
--
...
--


System Information

macOS Version 13.3.1 (Build 22E261)
Xcode 14.3 (21812) (Build 14E222b)
Timestamp: 2023-04-23T07:42:07+01:00

错误原因

从日志核心提示可明确:

  • 应用扩展的Bundle ID多了一个多余前缀c,变成ccom.companyname.[applicationname],与父应用Bundle IDcom.companyname.[applicationname]的前缀要求不匹配
  • iOS规定应用扩展的Bundle ID必须是父应用Bundle ID的子ID格式(如父应用为com.xxx.app,扩展需为com.xxx.app.extension),当前格式不合法导致安装失败

解决方法

  • 修正Bundle ID配置:
    1. 打开iOS项目中主应用和所有应用扩展的Info.plist文件
    2. 修改CFBundleIdentifier字段,确保扩展的Bundle ID以父应用ID为前缀(比如父应用是com.companyname.[applicationname],扩展应为com.companyname.[applicationname].xxx,xxx为扩展标识如share、widget等),去掉多余的c
  • 同步Xcode项目配置:
    打开Xcode选中项目目标(Targets),进入「Signing & Capabilities」标签页,确认主应用和所有扩展的「Bundle Identifier」与Info.plist配置一致
  • 清理缓存并重建:
    1. 执行cd ios && pod install重新安装依赖
    2. 在Xcode中按Cmd+Shift+K清理项目,再按Cmd+Option+Shift+K清理构建文件夹
  • 重启模拟器:
    关闭当前模拟器,通过Xcode的「Window > Devices and Simulators」删除已安装的应用,再重新启动项目

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 21:47:48