AudioKit 5 和 Xcode 12 beta 6 构建错误

AudioKit 5 and Xcode 12 beta 6 Build Errors

我正在尝试在 XCode 12 beta 6 for iOS 14 中使用 AudioKit 5(主分支)XCFrameworks 构建一个项目,我收到 1 个警告和 2 个错误:

警告:

Could not find or use auto-linked library 'swiftAVFoundation'

错误 1:

Undefined symbol: _swiftoverride_class_getSuperclass(swift::TargetMetadataswift::InProcess const*)

错误 2:

Undefined symbol: swift::swift51override_conformsToSwiftProtocol(swift::TargetMetadataswift::InProcess const*, swift::TargetProtocolDescriptorswift::InProcess const*, llvm::StringRef, swift::TargetProtocolConformanceDescriptorswift::InProcess const* ()(swift::TargetMetadataswift::InProcess const, swift::TargetProtocolDescriptorswift::InProcess const*, llvm::StringRef))

知道为什么会这样吗? 注意: 在为 iOS 13.7 构建时,完全相同的项目在 XCode 11 中运行良好。

AudioKit 5 绝对 支持 Xcode 12 - 但是也许您使用了错误的分支。您真的应该检查 v5-develop 分支而不是 master 分支以获取最新更改。

此外,该分支目前与 Swift 包管理器一起使用,这应该可以减轻您自己编译框架的需要。

尽管对 API 进行了大量更改,但此分支仍在不断变化,因此您可能需要调整代码。

从错误给出的信息来看,Xcode 似乎无法找到有意义的 Swift 5.1 方法。 Xcode beta 将使用最新版本的 Swift,我认为是 5.3

你应该试试@megastep 说的。我刚刚在我的 iPhone 上使用最新的 iOS 14.0 beta 8 和 Xcode 12 测试版 6.

如果您想尝试构建一个演示 AudioKit 项目,您可以在此处查看示例,这有时会有所帮助:https://github.com/AudioKit/MIDITrackView

没错!我刚刚发现了 Swift 包,这是一个非常好的功能。我相信如果您只是 select 示例项目上的 Code 按钮和 select Open with Xcode 一切都会为您处理。

在我的教程中,我没有使用 Xcode beta,这就是我选择使用 v5-master b运行ch 的原因。我应该更清楚地说明这一点。下次我一定会这样做。