【问题标题】:Error installing Firebase manually (Swift)手动安装 Firebase 时出错 (Swift)
【发布时间】: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 变得轻而易举。

标签: ios swift xcode firebase


【解决方案1】:

StoreKit 是一个dependency of AppMeasurement,应该从您正在安装的 GoogleAppMeasurement.framework 中的模块映射中引入。

您可以通过在 Xcode 的 Link Binary with Libraries Build Phase 中显式添加 StoreKit 来解决此问题。

【讨论】:

  • 嗨@Paul Beusterien,感谢您的回答,我已经尝试了您的建议,但我收到了与配置文件相关的其他错误,例如:“配置文件“iOS 团队配置文件:*”没有'不支持应用内购买功能。',我不希望我的应用支持购买
  • 基于github.com/firebase/firebase-ios-sdk/issues/2435,目前唯一的选择是停止使用 FirebaseAnalytics 并停止关联 FirebaseAnalytics 和 GoogleAppMeasurement。
猜你喜欢
  • 2020-07-23
  • 2016-08-21
  • 2018-07-25
  • 1970-01-01
  • 2020-03-28
  • 1970-01-01
  • 1970-01-01
  • 2015-03-21
  • 1970-01-01
相关资源
最近更新 更多