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

Mac Catalyst环境下启动XCTest报错:文件未找到

Mac Catalyst项目单元测试配置修复方案

针对你遇到的Mac Catalyst单元测试路径错误问题,按以下步骤调整配置即可解决:

1. 对齐测试目标与主应用的平台配置

  • 打开测试目标(如MyAppTests)的构建设置:
    • 找到Base SDK,设置为macOS (Mac Catalyst),确保和主应用目标的SDK一致;
    • 找到Supported Platforms,修改为maccatalyst,避免测试目标默认沿用iOS平台导致构建路径不匹配。

2. 用内置变量修正Test Host路径

不要手动硬编码Test Host路径,改用Xcode内置变量自动适配Catalyst的构建目录:

  • 在测试目标的构建设置中找到Test Host,替换为:
    $(BUILT_PRODUCTS_DIR)/$(PRODUCT_NAME).app/Contents/MacOS/$(PRODUCT_NAME)
    
  • 同时确保Bundle Loader的值与Test Host保持一致,直接设置为$(TEST_HOST)即可。

3. 统一构建路径配置

调整测试目标的构建路径,避免出现嵌套的平台后缀目录:

  • 在测试目标的构建设置中,找到Build Locations下的Per-configuration Build Path,设置为:
    $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
    
  • 检查主应用目标的同一项设置,确保两者保持一致,这样测试目标的构建目录会和主应用的Debug-maccatalyst目录对齐。

4. 清理并重新构建

  • 执行Product > Clean Build Folder(快捷键Cmd+Shift+K),彻底清除旧的构建产物;
  • 选择Mac Catalyst运行目标(如"My Mac"),重新运行单元测试。

问题原因说明

最初的错误是因为测试目标默认使用iOS平台的构建目录(Debug),而Catalyst产物实际在Debug-maccatalyst下;手动修改Test Host时硬编码路径,导致Xcode计算插件目录时出现层级错误,通过统一使用内置变量和对齐平台配置,就能让测试目标正确定位到Catalyst版本的应用包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 05:12:15