【发布时间】:2020-04-27 08:40:28
【问题描述】:
我正在尝试为 Firebase 添加必要的库,如集成部分的 firebase 页面所示,没有用于 swift 项目的 cocoapods,以及包含所有库的 zip 内的 read.me 文件中的步骤.
完成所有步骤后,我在清理后构建项目,但出现以下错误:
Ld /Users/mac/Library/Developer/Xcode/DerivedData/Medusa-fdyksfqolvwsiubuevxzsxcgcays/Build/Products/Debug-iphoneos/Medusa.app/Medusa 正常 arm64(在项目“美杜莎”的目标“美杜莎”中) cd /Users/mac/Documents/Proyectos/Medusa/ios/desarrollo/branches/v1/Medusa /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -target arm64-apple-ios10.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk -L/Users/mac/Library/Developer/Xcode/DerivedData/Medusa-fdyksfqolvwsiubuevxzsxcgcays/Build/Products/Debug-iphoneos -F/Users/mac/Library/Developer/Xcode/DerivedData/Medusa-fdyksfqolvwsiubuevxzsxcgcays/Build/Products/Debug-iphoneos -F/Users/mac/Documents/Proyectos/Medusa/ios/desarrollo/branches/v1/Medusa/Firebase -filelist /Users/mac/Library/Developer/Xcode/DerivedData/Medusa-fdyksfqolvwsiubuevxzsxcgcays/Build/Intermediates.noindex/Medusa.build/Debug-iphoneos/Medusa.build/Objects-normal/arm64/Medusa.LinkFileList -Xlinker -rpath -Xlinker /usr/lib/swift -Xlinker -rpath -Xlinker @executable_path/Frameworks -dead_strip -Xlinker -object_path_lto -Xlinker /Users/mac/Library/Developer/Xcode/DerivedData/Medusa-fdyksfqolvwsiubuevxzsxcgcays/Build/Intermediates.noindex/Medusa.build/Debug-iphoneos/Medusa.build/Objects-normal/arm64/Medusa_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -fembed-bitcode-marker -fobjc-arc -fobjc-link-runtime -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos -L/usr/lib/swift -Xlinker -add_ast_path -Xlinker /Users/mac/Library/Developer/Xcode/DerivedData/Medusa-fdyksfqolvwsiubuevxzsxcgcays/Build/Intermediates.noindex/Medusa.build/Debug-iphoneos/Medusa.build/Objects -normal/arm64/Medusa.swiftmodule -ObjC -framework GoogleUtilities /Users/mac/Library/Developer/Xcode/DerivedData/Medusa-fdyksfqolvwsiubuevxzsxcgcays/Build/Products/Debug-iphoneos/SQLite.framework/SQLite -framework GoogleAppMeasurement -framework CoreGraphics -framework UserNotifications -framework FirebaseMessaging -framework MobileCoreServices -framework FirebaseCore -framework Security -framework Foundation -framework SystemConfiguration -framework FirebaseAnalytics -framework nanopb -framework GoogleDataTransportCCTSupport -framework UIKit -framework FirebaseCoreDiagnostics -framework FIRAnalyticsConnector -framework GoogleDataTransport -framework EventKit -framework AssetsLibrary -framework FirebaseInstanceID -framework Protobuf -Xlinker -dependency_info -Xlinker /Users/mac/Library/Developer/Xcode/DerivedData/Medusa-fdyksfqolvwsiubuevxzsxcgcays/Build/Intermediates.noindex/Medusa.build/Debug-iphoneos/Medusa.build/Objects-normal /arm64/Medusa_dependency_info.dat -o /Users/mac/Library/Developer/Xcode/DerivedData/Medusa-fdyksfqolvwsiubuevxzsxcgcays/Build/Products/Debug-iphoneos/Medusa.app/Medusa
架构 arm64 的未定义符号:
“_OBJC_CLASS_$_SKProductsRequest”,引用自: GoogleAppMeasurement 中的 objc 类引用(APMProductsRequest_9ec051498f83cad93a58cf3f308ab9b6.o) “_OBJC_CLASS_$_SKPaymentQueue”,引用自: GoogleAppMeasurement 中的 objc 类引用(APMAnalytics_cb405cb8c995318bf496bd8f1041864f.o) ld:未找到架构 arm64 的符号 clang:错误:链接器 命令失败,退出代码为 1(使用 -v 查看调用)
我一直在寻找这个错误,它与 StoreKit.framework 库有关,但我的应用程序不需要应用内购买。
然后我放了一些添加库的截图
常规配置
构建阶段配置
项目结构
有什么建议吗?
【问题讨论】:
-
请问您为什么不尝试使用 Cocoapods?它不仅容易得多,而且更清洁。每当 Firebase 更新他们的 SDK 时,您只需运行
pod install即可获得更新后的代码。 -
您是否确保您的应用的“功能”部分中的“应用内购买”选项显示为关闭?
-
嗨@Pierce,感谢您的cmets,我从未使用过coocoapods,而且我对iOS开发很陌生,我尝试过这种方式。另一方面,“应用内购买”选项未在功能中激活,但如果我添加 StoreKit.framework,该选项会自动添加给我,我不想要该选项
-
我支持@Pierce。除非您有特定的用例阻止它,否则 Cocoapods 是可行的方法。更好的是,cocoapods.app 让设置和安装 pod 变得轻而易举。