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

iOS Simulator编译报错:链接macOS/Mac Catalyst的.tbd文件

解决iOS Simulator编译时链接macOS库的问题

以下是针对你遇到的ld: building for iOS Simulator, but linking in .tbd built for macOS/Mac Catalyst错误的排查和解决思路:

  • 强制指定iOS Simulator SDK编译
    在xcodebuild命令中添加-sdk iphonesimulator参数,明确指定使用iOS模拟器SDK,避免工具默认选取macOS SDK:

    xcodebuild -project Project.xcodeproj -scheme Scheme -destination 'platform=iOS Simulator,name=iPhone 14 Pro' -sdk iphonesimulator
    
  • 检查Command Line Tools的SDK路径
    确认当前命令行工具是否指向Xcode内置的开发环境,而非独立的CommandLineTools(后者可能优先使用macOS SDK):

    1. 执行xcode-select -p查看当前路径,如果输出是/Library/Developer/CommandLineTools,则需要切换:
    2. 运行sudo xcode-select -s /Applications/Xcode.app/Contents/Developer,将命令行工具指向Xcode的开发目录。
  • 排查项目中的链接库配置

    1. 打开Xcode项目,进入目标的Build Phases > Link Binary With Libraries
    2. 检查是否存在libz.tbd的引用,若有,删除当前条目,重新添加iOS SDK版本的libz.tbd(从iOS Simulator SDK目录中选择)
    3. 查看Build Settings中的OTHER_LDFLAGS,确认是否有硬编码指向MacOSX.sdk的路径,若有替换为-lz(让Xcode自动匹配对应SDK的库)
  • 清理Derived Data缓存
    旧的缓存文件可能导致SDK路径混乱,执行以下命令清理:

    rm -rf ~/Library/Developer/Xcode/DerivedData
    
  • 检查第三方依赖(如CocoaPods)
    若使用CocoaPods,可能是某个依赖库错误引入了macOS编译配置:

    1. 执行pod deintegrate移除现有pod集成
    2. 重新运行pod install,确保所有依赖适配iOS模拟器环境

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 03:40:12