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

Xcode构建ARVideoKit遇循环依赖问题,调整编译阶段仍未解决

解决Xcode中ARVideoKit构建循环依赖问题

在Xcode构建项目时遇到报错:

Cycle inside ARVideoKit; building could produce unreliable results. This usually can be resolved by moving the target's Headers build phase before Compile Sources.

已尝试将Headers阶段移至Compile Sources之前,但问题仍未解决。

详细报错信息

Showing Recent Messages
Cycle inside ARVideoKit; building could produce unreliable results. This usually can be resolved by moving the target's Headers build phase before Compile Sources.
Cycle details:
→ Target 'ARVideoKit' has link command with output '/Users/richardmac/Library/Developer/Xcode/DerivedData/AR_Remote_Support-aaanobrrwbejkycmcyjzmsmrwiic/Build/Products/Debug-iphoneos/ARVideoKit.framework/ARVideoKit'
○ Target 'ARVideoKit' has compile command with input '/Users/richardmac/Library/Developer/Xcode/DerivedData/AR_Remote_Support-aaanobrrwbejkycmcyjzmsmrwiic/Build/Intermediates.noindex/ARVideoKit.build/Debug-iphoneos/ARVideoKit.build/DerivedSources/ARVideoKit_vers.c'
○ Target 'ARVideoKit' has compile command for Swift source files
○ Target 'ARVideoKit' has copy command from '/Users/richardmac/Documents/GitHub/ARVideoKit/ARVideoKit/ARVideoKit.h' to '/Users/richardmac/Library/Developer/Xcode/DerivedData/AR_Remote_Support-aaanobrrwbejkycmcyjzmsmrwiic/Build/Products/Debug-iphoneos/ARVideoKit.framework/Headers/ARVideoKit.h'


Raw dependency cycle trace:

target:  ->

node: <all> ->

command: <all> ->

node: /Users/richardmac/Library/Developer/Xcode/DerivedData/AR_Remote_Support-aaanobrrwbejkycmcyjzmsmrwiic/Build/Products/Debug-iphoneos/ARVideoKit.framework/ARVideoKit ->

command: target-ARVideoKit-2bded4ab62199ada5f79527c1e5e4d0e2e48c26ea4c59645a2f99f2829476ecd-:Debug:Ld /Users/richardmac/Library/Developer/Xcode/DerivedData/AR_Remote_Support-aaanobrrwbejkycmcyjzmsmrwiic/Build/Products/Debug-iphoneos/ARVideoKit.framework/ARVideoKit normal ->

CYCLE POINT ->

node: /Users/richardmac/Library/Developer/Xcode/DerivedData/AR_Remote_Support-aaanobrrwbejkycmcyjzmsmrwiic/Build/Intermediates.noindex/ARVideoKit.build/Debug-iphoneos/ARVideoKit.build/Objects-normal/arm64/ARVideoKit_vers.o ->

command: target-ARVideoKit-2bded4ab62199ada5f79527c1e5e4d0e2e48c26ea4c59645a2f99f2829476ecd-:Debug:CompileC /Users/richardmac/Library/Developer/Xcode/DerivedData/AR_Remote_Support-aaanobrrwbejkycmcyjzmsmrwiic/Build/Intermediates.noindex/ARVideoKit.build/Debug-iphoneos/ARVideoKit.build/Objects-normal/arm64/ARVideoKit_vers.o /Users/richardmac/Library/Developer/Xcode/DerivedData/AR_Remote_Support-aaanobrrwbejkycmcyjzmsmrwiic/Build/Intermediates.noindex/ARVideoKit.build/Debug-iphoneos/ARVideoKit.build/DerivedSources/ARVideoKit_vers.c normal arm64 c com.apple.compilers.llvm.clang.1_0.compiler ->

node: <target-ARVideoKit-2bded4ab62199ada5f79527c1e5e4d0e2e48c26ea4c59645a2f99f2829476ecd--generated-headers> ->

command: Gate target-ARVideoKit-2bded4ab62199ada5f79527c1e5e4d0e2e48c26ea4c59645a2f99f2829476ecd--generated-headers ->

node: /Users/richardmac/Library/Developer/Xcode/DerivedData/AR_Remote_Support-aaanobrrwbejkycmcyjzmsmrwiic/Build/Intermediates.noindex/ARVideoKit.build/Debug-iphoneos/ARVideoKit.build/Objects-normal/arm64/UIView+isType.o ->

command: target-ARVideoKit-2bded4ab62199ada5f79527c1e5e4d0e2e48c26ea4c59645a2f99f2829476ecd-:Debug:CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler ->

node: /Users/richardmac/Library/Developer/Xcode/DerivedData/AR_Remote_Support-aaanobrrwbejkycmcyjzmsmrwiic/Build/Products/Debug-iphoneos/ARVideoKit.framework/Headers/ARVideoKit.h ->

command: target-ARVideoKit-2bded4ab62199ada5f79527c1e5e4d0e2e48c26ea4c59645a2f99f2829476ecd-:Debug:CpHeader /Users/richardmac/Library/Developer/Xcode/DerivedData/AR_Remote_Support-aaanobrrwbejkycmcyjzmsmrwiic/Build/Products/Debug-iphoneos/ARVideoKit.framework/Headers/ARVideoKit.h /Users/richardmac/Documents/GitHub/ARVideoKit/ARVideoKit/ARVideoKit.h ->

node: <target-ARVideoKit-2bded4ab62199ada5f79527c1e5e4d0e2e48c26ea4c59645a2f99f2829476ecd--phase0-compile-sources> ->

command: Gate target-ARVideoKit-2bded4ab62199ada5f79527c1e5e4d0e2e48c26ea4c59645a2f99f2829476ecd--phase0-compile-sources ->

node: /Users/richardmac/Library/Developer/Xcode/DerivedData/AR_Remote_Support-aaanobrrwbejkycmcyjzmsmrwiic/Build/Intermediates.noindex/ARVideoKit.build/Debug-iphoneos/ARVideoKit.build/Objects-normal/arm64/ARVideoKit_vers.o

解决建议

  • 检查Header文件依赖:确认ARVideoKit.h是否被Swift文件直接或间接引用,若存在此类引用,改用模块导入(import ARVideoKit)替代直接导入头文件。
  • 清理构建缓存:按下Cmd+Shift+K清理项目,手动删除DerivedData文件夹(路径:~/Library/Developer/Xcode/DerivedData/),之后重新构建项目。
  • 排查Build Phases顺序:除Headers和Compile Sources外,检查Copy Files、Run Script等阶段是否存在依赖反转,确保Copy Headers阶段不依赖编译后的产物。
  • 调整版本配置:报错涉及自动生成的ARVideoKit_vers.c文件,可在Build Settings中将Versioning System设置为Apple Generic,并检查Current Project Version与Marketing Version的配置是否正常。
  • 修复跨语言引用循环:由于项目包含Swift与OC代码,确认桥接文件(Bridging Header)的配置,避免头文件被循环引用。
  • 重建目标:若以上方法无效,移除ARVideoKit目标后重新添加,确保Build Phases的默认顺序正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 15:06:22