为啥我的 Firebase/Auth 包没有安装在 xcode(swift 5) 中?

Posted

技术标签:

【中文标题】为啥我的 Firebase/Auth 包没有安装在 xcode(swift 5) 中?【英文标题】:Why isn't my Firebase/Auth package installed in xcode(swift 5)?为什么我的 Firebase/Auth 包没有安装在 xcode(swift 5) 中? 【发布时间】:2020-10-18 08:51:54 【问题描述】:

这是我的 pod 文件,已经安装、卸载和重新安装了 5 次,但由于某种原因它无法正常工作

平台:ios,'9.0'

目标 'PharmaHome Connections' 做

用于 PharmaHome 连接的 Pods

pod 'Firebase/Firestore'
pod 'Firebase/Analytics'
pod 'Firebase/Auth'

结束

一旦我安装了终端中出现的所有内容:

-> Pod installation complete! There are 3 dependencies from the Podfile and 18 total pods installed.

[!] PharmaHome Connections [Debug] 目标覆盖在 Pods/Target Support Files/Pods-PharmaHome Connections/Pods-PharmaHome Connections.debug.xcconfig'. This can lead to problems with the CocoaPods installation - Use the $(inherited)` 标志中定义的 PODS_CONFIGURATION_BUILD_DIR 构建设置,或者 - 从目标中删除构建设置。

[!] PharmaHome Connections [Debug] 目标覆盖在 Pods/Target Support Files/Pods-PharmaHome Connections/Pods-PharmaHome Connections.debug.xcconfig'. This can lead to problems with the CocoaPods installation - Use the $(inherited)` 标志中定义的 PODS_PODFILE_DIR_PATH 构建设置,或者 - 从目标中删除构建设置。

[!] PharmaHome Connections [Release] 目标覆盖在 Pods/Target Support Files/Pods-PharmaHome Connections/Pods-PharmaHome Connections.release.xcconfig'. This can lead to problems with the CocoaPods installation - Use the $(inherited)` 标志中定义的 PODS_CONFIGURATION_BUILD_DIR 构建设置,或者 - 从目标中删除构建设置。

[!] PharmaHome Connections [Release] 目标覆盖了在“Pods/Target Support Files/Pods-PharmaHome Connections/Pods-PharmaHome Connections.release.xcconfig”中定义的PODS_PODFILE_DIR_PATH 构建设置。这可能会导致 CocoaPods 安装出现问题

在 Xcode 中,我去更改 Release 和 Debug 中的两者

PODS_CONFIGURATION_BUILD_DIR 和 MTL_ENABLE_DEBUG_INFO

到 $(inherited),它会引发错误

/Users/user/Desktop/PharmaHome Connections/PharmaHome Connections/ViewController.swift:11:8: No such module 'FirebaseAuth'

如果我删除 $(inherited),则会引发不同的错误说 Framework not found GoogleAppMeasurement

一旦我在关闭应用程序后再次执行所有操作,就会出现此错误:

Undefined symbols for architecture x86_64:

OBJC_CLASS$_APMIdentifiers”,引用自: OBJC_CLASSFirebaseAnalytics 中的 $_FIRAIdentifiers(FIRAIdentifiers_073326a72300f5375513acd0fc54f452.o) “OBJC_METACLASS$_APMIdentifiers”,引用自: OBJC_METACLASSFirebaseAnalytics 中的 $_FIRAIdentifiers(FIRAIdentifiers_073326a72300f5375513acd0fc54f452.o) “OBJC_CLASS$_APMScreenViewReporter”,引用自: FirebaseAnalytics 中的 objc 类引用(FIRAScreenViewReporter_e7c01d781332b9006760b4d7506bf755.o) OBJC_CLASSFirebaseAnalytics 中的 $_FIRAScreenViewReporter(FIRAScreenViewReporter_e7c01d781332b9006760b4d7506bf755.o) “OBJC_CLASS$_APMAdExposureReporter”,引用自: OBJC_CLASSFirebaseAnalytics 中的 $_FIRAAdExposureReporter(FIRAAdExposureReporter_dca1be02bb82133dc9310c1cb2b2cfe3.o) “OBJC_CLASS$_APMIdentity”,引用自: FirebaseAnalytics 中的 objc-class-ref (FIRAnalytics_ad263b29c3fc023c44d18b4b635e8d55.o) “OBJC_CLASS$_APMSessionReporter”,引用自: OBJC_CLASSFirebaseAnalytics 中的 $_FIRASessionReporter(FIRASessionReporter_6ccd98dbbd8ab462f7f778c620e15947.o) “OBJC_CLASS$_APMConditionalUserPropertyController”,引用自: OBJC_CLASSFirebaseAnalytics 中的$_FIRAConditionalUserPropertyController(FIRAConditionalUserPropertyController_4bda5cb35a89f6c6dd5a502c214436e6.o) “_APMIsAnalyticsCollectionEnabled”,引用自: +[FIRAnalytics startWithConfiguration:options:] 在 FirebaseAnalytics(FIRAnalytics_ad263b29c3fc023c44d18b4b635e8d55.o) “_APMIsAnalyticsCollectionDeactivated”,引用自: +[FIRAnalytics startWithConfiguration:options:] 在 FirebaseAnalytics(FIRAnalytics_ad263b29c3fc023c44d18b4b635e8d55.o) “_APMMonitorLogTagOptionKey”,引用自: +[FIRAnalytics startWithConfiguration:options:] 在 FirebaseAnalytics(FIRAnalytics_ad263b29c3fc023c44d18b4b635e8d55.o) “_gAPMAppMeasurementLibraryVersion”,引用自: +[FIRAnalytics 初始化] 在 FirebaseAnalytics(FIRAnalytics_ad263b29c3fc023c44d18b4b635e8d55.o) “OBJC_METACLASS$_APMUserAttribute”,引用自: OBJC_METACLASSFirebaseAnalytics 中的$_FIRAUserAttribute(FIRAUserAttribute_cd666440930283221a8f5970e073d6c4.o) “OBJC_CLASS$_APMAnalytics”,引用自: FirebaseAnalytics 中的 objc-class-ref (FIRAnalytics_ad263b29c3fc023c44d18b4b635e8d55.o) “OBJC_CLASS$_APMConditionalUserProperty”,引用自: OBJC_CLASSFirebaseAnalytics 中的 $_FIRAConditionalUserProperty(FIRAConditionalUserProperty_8927b5f8e4b44834d98ab82ca1058ebd.o) “OBJC_CLASS$_APMEvent”,引用自: OBJC_CLASSFirebaseAnalytics 中的$_FIRAEvent(FIRAEvent_31e2773e69be479b12b059a54f67a005.o) “_APMFormattedEventName”,引用自: +[FIRAnalytics logEventWithOrigin:name:parameters:] in FirebaseAnalytics(FIRAnalytics_ad263b29c3fc023c44d18b4b635e8d55.o) “OBJC_METACLASS$_APMConditionalUserPropertyController”,引用自: OBJC_METACLASSFirebaseAnalytics 中的$_FIRAConditionalUserPropertyController(FIRAConditionalUserPropertyController_4bda5cb35a89f6c6dd5a502c214436e6.o) “OBJC_CLASS$_APMUserAttribute”,引用自: OBJC_CLASSFirebaseAnalytics 中的 $_FIRAUserAttribute(FIRAUserAttribute_cd666440930283221a8f5970e073d6c4.o) “OBJC_METACLASS$_APMSessionReporter”,引用自: OBJC_METACLASSFirebaseAnalytics 中的 $_FIRASessionReporter(FIRASessionReporter_6ccd98dbbd8ab462f7f778c620e15947.o) “_APMFormattedUserPropertyName”,引用自: +[FIRAnalytics setUserPropertyString:forName:] 在 FirebaseAnalytics(FIRAnalytics_ad263b29c3fc023c44d18b4b635e8d55.o) “OBJC_CLASS$_APMValue”,引用自: OBJC_CLASSFirebaseAnalytics 中的 $_FIRAValue(FIRAValue_acbb0e0d63888006fda7982f24b7e100.o) “OBJC_CLASS$_APMMeasurement”,引用自: FirebaseAnalytics 中的 objc 类引用(FIRAMeasurement_9909b8b273787a3d6303ba22319b9c2d.o) OBJC_CLASSFirebaseAnalytics 中的 $_FIRAMeasurement(FIRAMeasurement_9909b8b273787a3d6303ba22319b9c2d.o) FirebaseAnalytics 中的 objc-class-ref (FIRAnalytics_ad263b29c3fc023c44d18b4b635e8d55.o) “_APMAnalyticsConfiguration”,引用自: +[FIRAnalytics startWithConfiguration:options:] 在 FirebaseAnalytics(FIRAnalytics_ad263b29c3fc023c44d18b4b635e8d55.o) “OBJC_METACLASS$_APMScreenViewReporter”,引用自: OBJC_METACLASSFirebaseAnalytics 中的 $_FIRAScreenViewReporter(FIRAScreenViewReporter_e7c01d781332b9006760b4d7506bf755.o) “OBJC_METACLASS$_APMAdExposureReporter”,引用自: OBJC_METACLASSFirebaseAnalytics 中的 $_FIRAAdExposureReporter(FIRAAdExposureReporter_dca1be02bb82133dc9310c1cb2b2cfe3.o) “OBJC_METACLASS$_APMConditionalUserProperty”,引用自: OBJC_METACLASSFirebaseAnalytics 中的$_FIRAConditionalUserProperty(FIRAConditionalUserProperty_8927b5f8e4b44834d98ab82ca1058ebd.o) “_APMSafelistedEventsOptionKey”,引用自: +[FIRAnalytics startWithConfiguration:options:] 在 FirebaseAnalytics(FIRAnalytics_ad263b29c3fc023c44d18b4b635e8d55.o) “OBJC_METACLASS$_APMMeasurement”,引用自: OBJC_METACLASSFirebaseAnalytics 中的 $_FIRAMeasurement(FIRAMeasurement_9909b8b273787a3d6303ba22319b9c2d.o) “OBJC_METACLASS$_APMEvent”,引用自: OBJC_METACLASSFirebaseAnalytics 中的$_FIRAEvent(FIRAEvent_31e2773e69be479b12b059a54f67a005.o) “_APMAppMeasurementOriginFirebase”,引用自: +[FIRAnalytics startWithConfiguration:options:] 在 FirebaseAnalytics(FIRAnalytics_ad263b29c3fc023c44d18b4b635e8d55.o) “OBJC_METACLASS$_APMValue”,引用自: OBJC_METACLASSFirebaseAnalytics 中的 $_FIRAValue(FIRAValue_acbb0e0d63888006fda7982f24b7e100.o) ld:未找到架构 x86_64 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

无论我做什么都会弹出错误。昨天,使用完全相同的设置,没有出现错误!请有人帮助我,我已经浪费了 3 个小时来解决这个问题!

这是我的 pod 设置:

【问题讨论】:

【参考方案1】:

我这样解决了这个问题:

清理构建文件夹 关闭 Xcode 运行 pod 安装

安装完成时

运行 pod 更新

更新完成时

打开项目

【讨论】:

【参考方案2】:

您是否清理过构建并再次重建?

就我而言,它有效。

【讨论】:

如何清洁它? Xcode/Product/Clean Build 文件夹或快捷键:Window+Shift+K 我清理了它,但 Firebase/Auth 模块仍然无法工作【参考方案3】:

对我来说,解决方案有点复杂!

    清理构建 转到构建设置 > 用户定义 将 PODS_PODFILE_DIR_PATH 更改为项目所在文件夹的路径。 ($(inherited) 显示的是 Pod 的路径,而不是项目的路径。 在终端中运行“pod install --verbose” 关闭应用程序并重新打开即可!

【讨论】:

以上是关于为啥我的 Firebase/Auth 包没有安装在 xcode(swift 5) 中?的主要内容,如果未能解决你的问题,请参考以下文章

没有身份验证的 Firebase 初始化 - firebase.auth 不是函数

有没有办法使用''auth REST API''从我的firebase auth用户那里获得“emailVerified”?

Flutter Provider:Firebase Auth StateChanges 被监听但状态没有改变

Vue路由器firebase auth guard不起作用

使用 apollo-client + firebase auth 刷新令牌

Firebase Auth用户角色[重复]