Xcode 13.3 由于目标之间的依赖循环而导致构建失败 libsignal-protocol-swift

Xcode 13.3 Build Failed because of Cycle in Dependencies between targets libsignal-protocol-swift

更新到 Xcode 13.3 后,libsignal-protocol-swift 库面临构建失败问题。

这是在第二次构建时发生的,而在第一次清洁和构建后它工作正常。此外,Xcode 13.2.1 没有此类错误。

Xcode 错误如下:

循环内libsignal-protocol-swiftiOS;构建可能会产生不可靠的结果。这通常可以通过将目标的 Headers 构建阶段移到编译源之前来解决。

Cycle details:
→ Target 'libsignal-protocol-swift iOS' has link command with output '/Users/ankitkhanna/Library/Developer/Xcode/DerivedData/BlueSecures-brawgzawheasvqbvhxxglfnlvdlw/Build/Products/Debug-iphoneos/SignalProtocol.framework/SignalProtocol'
○ Target 'libsignal-protocol-swift iOS' has compile command for Swift source files
○ Target 'libsignal-protocol-swift iOS' has copy command from '/Users/ankitkhanna/Documents/Project-Files/Desk-Factors-Project-Files/BlueChats-IOS-master/libsignal-protocol-swift-master/libsignal-protocol-swift/SignalProtocol.h' to '/Users/ankitkhanna/Library/Developer/Xcode/DerivedData/BlueSecures-brawgzawheasvqbvhxxglfnlvdlw/Build/Products/Debug-iphoneos/SignalProtocol.framework/Headers/SignalProtocol.h'

经过一段时间的努力,解决方案实际上与Xcode建议中提到的相同。

即在项目目标中移动 Headers -> 编译源顶部的构建阶段。

将 Headers 拖到“编译源”上方修复了错误。 请看图片以供参考。

更新到 Xcode 13.3 后,我遇到了同样的问题;但是就我而言,我在构建阶段中没有 Headers。

我已按照以下步骤解决问题:

  • 前提条件:Xcode必须关闭
  • 删除派生数据文件夹。您可以通过从终端打开此路径来访问该文件夹(并将“your_username”替换为您的实际用户名):

open /Users/your_username/Library/Developer/Xcode/DerivedData

  • 在终端中,输入以下命令:

defaults write com.apple.dt.XCBuild EnableSwiftBuildSystemIntegration 1