簡體   English   中英

通過 CocoaPods 添加 AudioKit 后鏈接錯誤

[英]Linking Errors after adding AudioKit via CocoaPods

我開發了一個簡單的應用程序,可以在圖表中顯示實時音頻信號。
我通過 CocoaPods 安裝了 AudioKit

源'https://github.com/CocoaPods/Specs.git'
平台:ios,“13.4”
吊艙'AudioKit','= 5.0.b1'

一切正常,現在我想將此功能集成到其他應用程序中。
這就是我的問題開始的地方。 一旦我將 AudioKit 吊艙添加到我的另一個項目中,我就會收到鏈接錯誤。 我什至還沒有在我的代碼中使用 AudioKit。 我只是編輯我的 Podfile 並使用pod update

這就是我得到的:

Undefined symbols for architecture x86_64: "_swiftoverride_class_getSuperclass(swift::TargetMetadataswift::InProcess const*)", referenced from: 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) "swiftProtocol51override_conforms :TargetMetadataswift::InProcess const*, swift::TargetProtocolDescriptorswift::InProcess const*, llvm::StringRef, swift::TargetProtocolConformanceDescriptorswift::InProcess const* ( )(swift::TargetMetadataswift::InProcess const , swift::TargetP rotocolDescriptorswift::InProcess const*, llvm::StringRef))",引用自:_Swift50Overrides in libswiftCompatibility50.a(Overrides.cpp.o) ld:未找到架構 x86_64 clang 的符號:錯誤:Z3175B4263046784BEECE273 命令失敗代碼 1(使用 -v 查看調用)

從我的 Podfile 中刪除 AudioKit 並更新后,一切都恢復正常了。
我使用的唯一其他 pod 是這個SideMenu。

我的規格:
MacBook Pro 13(2019,Big Sur 11.1,i5 1.4 GHz)
Xcode 12.3 (12C33)
CocoaPods 1.9.1

檢查目標設置中的構建階段選項卡。 如果您看到帶有從框架中刪除架構的腳本的運行腳本階段(這很常見),請確保它在“嵌入 Pods 框架”構建階段之前運行。

此外,請附上腳本代碼

if [[ "$CONFIGURATION" == "Release" ]]; then
 [Original script]
fi

您可能想嘗試切換到版本 5.0.b2 而不是 b1 - 它是最近更新的,舊的二進制文件可能與 Xcode 12 存在問題。

此外,您應該升級到最新的 CocoaPods - 需要 1.10 或更高版本才能正確支持 XCFramework,這是 AudioKit pod 使用的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM