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

Xcode 14.3添加Framework后遇iOS模拟器编译错误求助

iOS模拟器运行SRT Framework报错的解决方案

1. 重新构建支持多架构的通用SRT Framework

原构建脚本可能只生成了真机架构的库,需要同时编译真机和模拟器版本并合并:

  • 先编译真机版本:
    ./build-ios.sh --enable-static
    
  • 再编译模拟器版本(Xcode14.3+需规避Apple Silicon模拟器与真机的arm64冲突):
    ./build-ios.sh --enable-static --arch x86_64 --sdk iphonesimulator
    
  • 合并真机和模拟器的静态库:
    lipo -create build-ios/lib/libsrt.a build-ios-simulator/lib/libsrt.a -output libsrt-universal.a
    
  • 将合并后的库替换原Framework中的二进制文件:
    cp libsrt-universal.a SRT.framework/SRT
    

2. 调整项目构建设置

  • 打开项目Build Settings,将Build Active Architecture Only的Debug模式设为YES,Release模式设为NO;
  • 确认Valid Architectures包含x86_64(Intel模拟器)和arm64(真机);
  • 在Other Linker Flags中添加-ObjC,确保Framework的符号被正确链接。

3. 清理缓存后重新构建

  • 执行Cmd+Shift+K清理项目,再执行Cmd+Option+Shift+K清理构建文件夹;
  • 重启Xcode,重新导入修改后的通用Framework。

4. 验证Framework架构

用以下命令检查是否包含所需架构:

lipo -info SRT.framework/SRT

正常输出应包含x86_64和arm64。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 12:53:06