如何解决通过 CocoaPods 添加 AudioKit 后链接错误
我开发了一个简单的应用,可以在图表中显示实时音频信号。
我通过 CocoaPods 安装了 AudioKit
来源'https://github.com/CocoaPods/Specs.git'
平台:ios,'13.4'
pod 'AudioKit','=5.0.b1'
一切正常,现在我想将此功能集成到其他应用程序中。
这就是我的问题开始的地方。一旦我将 AudioKit pod 添加到我的其他项目,我就会收到链接错误。我什至还没有在我的代码中使用 AudioKit。我只是编辑我的 Podfile 并使用 pod update
。
这是我得到的:
体系结构 x86_64 的未定义符号: “_swiftoverride_class_getSuperclass(swift::TargetMetadataswift::InProcess const*)”,引用自: swift::swift50override_conformsToProtocol(swift::TargetMetadataswift::InProcess const*,swift::TargetProtocolDescriptorswift::InProcess const*,swift::TargetWitnessTableswift::InProcess const* ()(swift::TargetMetadataswift::InProcess const,swift::TargetProtocolDescriptorswift::InProcess const*)) 在 libswiftCompatibility50.a(ProtocolConformance.cpp.o) "swift::swift51override_conformsToSwiftProtocol(swift::TargetMetadataswift::InProcess const*,llvm::StringRef,swift::TargetProtocolConformanceDescriptorswift::InProcess const* ()(swift::TargetMetadataswift ::InProcess const,llvm::StringRef))”,引用自: _Swift50Overrides in libswiftCompatibility50.a(Overrides.cpp.o) ld:找不到架构 x86_64 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
从我的 Podfile 中删除 AudioKit 并更新后,一切又恢复了。
我唯一使用的其他 pod 是 this SideMenu。
我的规格:
MacBook Pro 13(2019 年,Big Sur 11.1,i5 1.4 GHz)
Xcode 12.3 (12C33)
可可豆 1.9.1
解决方法
检查目标设置中的构建阶段选项卡。 如果您看到运行脚本阶段的脚本从您的框架中删除架构(这很常见),请确保它在“嵌入 Pods 框架”构建阶段之前运行。
另外,将脚本代码用
括起来if [[ "$CONFIGURATION" == "Release" ]]; then
[Original script]
fi
,
您可能想尝试切换到版本 5.0.b2 而不是 b1 - 它最近更新了,旧的二进制文件可能在 Xcode 12 上有问题。
此外,您应该升级到最新的 CocoaPods - 需要 1.10 或更高版本才能获得适当的 XCFramework 支持,这是 AudioKit pod 所使用的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。