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

因代码签名错误无法在iOS设备运行React Native应用

问题描述
  • Expo部署的React Native应用,原归属另一账号,Bundle ID为com.bcc.quickpass,现已转移至当前账号
  • 自动签名构建后应用无法启动,Xcode日志提示:因无效代码签名、权限不足或配置文件未被信任导致无法启动com.bcc.quickpass
  • 使用expo run:ios和react-native run-ios构建均出现CodeSign失败错误,错误码errSecInternalComponent
  • 已尝试创建新的CSR、开发证书及签名配置文件,问题依旧
  • 环境:macOS Big Sur(11.4),Xcode 13.2.1(13C100),iOS设备版本14.1
解决方案

1. 彻底清理旧签名残留

  • 删除钥匙串中所有与原账号、目标Bundle ID相关的证书:打开钥匙串访问,搜索com.bcc.quickpass和原账号邮箱,删除所有匹配项
  • 清除本地配置文件:前往~/Library/MobileDevice/Provisioning Profiles,删除所有旧的配置文件
  • 清理Xcode缓存:打开Xcode按Cmd+Shift+K清理构建缓存,再删除~/Library/Developer/Xcode/DerivedData下对应项目的文件夹
  • 清除Expo项目缓存:运行expo r -c

2. 重置项目签名关联

  • 重新关联Expo账号:运行expo login确认当前账号正确,执行expo build:ios --clear-credentials清除旧凭证,重新生成签名配置
  • 手动配置Xcode签名:
    1. 打开项目ios目录下的.xcworkspace文件
    2. 进入项目目标的Signing & Capabilities标签页
    3. 取消再重新勾选Automatically manage signing,选择当前账号的开发团队
    4. 确认Bundle ID为com.bcc.quickpass,若配置文件不匹配,点击Download Manual Profiles手动下载导入

3. 修复errSecInternalComponent签名错误

  • 调整钥匙串权限:打开钥匙串访问,右键点击「登录」钥匙串→「显示简介」,在「访问控制」标签页,确保CodeSign被允许访问,或临时选择「允许所有应用访问此项目」测试
  • 重启签名服务:终端运行sudo security restart-keychain,之后重启Mac
  • 赋予Xcode磁盘权限:系统偏好设置→安全性与隐私→隐私→完全磁盘访问,勾选Xcode

4. 设备端信任配置

  • 在iOS设备上进入「设置」→「通用」→「VPN与设备管理」,找到当前开发者账号的证书,点击「信任」
  • 确认设备UDID已添加到Apple开发者后台的设备列表,且包含在当前使用的开发配置文件中

5. 版本兼容性调整

  • Xcode 13.2.1与macOS Big Sur 11.4存在部分兼容性问题,可尝试降级Xcode到13.1版本,或升级macOS到Monterey(若条件允许)
  • 确认项目的Deployment Target设置为14.1或更低版本,匹配设备系统

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 04:35:26