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

升级Xcode 15后无法在iOS模拟器运行React Native应用

问题描述

使用M1 MacBook,升级Xcode至15、React Native版本为0.72.4后,编译出现以下错误:

ld: warning: could not create compact unwind for _fa3d73c773a947d51: does not use RBP or RSP based frame
ld: warning: Could not find or use auto-linked framework 'CoreAudioTypes'
Undefined symbols for architecture x86_64:
  "_qwjicc_jpeg_CreateCompress", referenced from:
      _convertRGB2Jpeg in ToygerServiceAlgo(JpegTool.cpp.o)
  "_qwjicc_jpeg_destroy_compress", referenced from:
      _convertRGB2Jpeg in ToygerServiceAlgo(JpegTool.cpp.o)
  "_qwjicc_jpeg_finish_compress", referenced from:
      _convertRGB2Jpeg in ToygerServiceAlgo(JpegTool.cpp.o)
  "_qwjicc_jpeg_mem_dest", referenced from:
      _convertRGB2Jpeg in ToygerServiceAlgo(JpegTool.cpp.o)
  "_qwjicc_jpeg_set_defaults", referenced from:
      _convertRGB2Jpeg in ToygerServiceAlgo(JpegTool.cpp.o)
  "_qwjicc_jpeg_set_quality", referenced from:
      _convertRGB2Jpeg in ToygerServiceAlgo(JpegTool.cpp.o)
  "_qwjicc_jpeg_start_compress", referenced from:
      _convertRGB2Jpeg in ToygerServiceAlgo(JpegTool.cpp.o)
  "_qwjicc_jpeg_std_error", referenced from:
      _convertRGB2Jpeg in ToygerServiceAlgo(JpegTool.cpp.o)
  "_qwjicc_jpeg_write_scanlines", referenced from:
      _convertRGB2Jpeg in ToygerServiceAlgo(JpegTool.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

该应用在Xcode 14.3上可正常运行,但升级至macOS Sonoma后必须使用Xcode 15,无法回退旧版本。已尝试在Build Phases中添加CoreAudioTypes框架、仅排除arm64架构,错误仍未解决。

解决方案
  • 针对x86_64符号缺失问题:

    1. 检查ToygerServiceAlgo依赖的JPEG库是否包含x86_64架构。Xcode 15对架构兼容性检查更严格,若该库仅提供arm64版本,需替换为支持双架构(arm64+x86_64)的版本,或重新编译该库生成通用架构二进制文件。
    2. 确认项目Build Settings中的Architectures设置为Standard Architectures (arm64, x86_64),同时检查Excluded Architectures,确保Debug/Release模式下没有错误排除x86_64(M1设备的模拟器依赖x86_64转译,真机为arm64)。
    3. 清理项目缓存:执行pod deintegrate && pod install,同时在Xcode中选择Product > Clean Build Folder,再重新编译。
  • 针对CoreAudioTypes框架警告:

    1. 在Xcode项目的Build Phases > Link Binary With Libraries中添加CoreAudioTypes.framework,并设置为Optional(而非Required),避免强制链接导致的找不到问题。
    2. 检查Build Settings中的Framework Search Paths,确保包含CoreAudioTypes所在的系统路径(通常为/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/)。
  • 额外排查点:

    1. 确认React Native 0.72.4与Xcode 15的兼容性:虽然0.72.x官方宣称支持Xcode 15,但部分第三方库可能存在适配问题,可尝试升级ToygerServiceAlgo到最新版本,或查看其官方文档是否有Xcode 15适配说明。
    2. 检查项目的Other Linker Flags是否有冲突,移除不必要的链接标记,确保正确引入JPEG相关库的链接参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 00:08:23