使用 CocoaPods 在多个目标中引用 Firebase 时构建运行但存档失败

Posted

技术标签:

【中文标题】使用 CocoaPods 在多个目标中引用 Firebase 时构建运行但存档失败【英文标题】:Build runs but archive fails when referencing Firebase in multiple targets with CocoaPods 【发布时间】:2020-06-06 19:34:07 【问题描述】:

我想在 Siri Intent 中使用 Firebase。我尝试运行它并且它可以工作,但是当我尝试归档应用程序时它无法归档。

我在 macOS Catalina 10.15.3 和 CocoaPods 1.8.4 上使用 Xcode 11.2.1。

错误是:

多个命令生成“/Users/matan/Library/Developer/Xcode/DerivedData/Sendy-bqdzdmefsanhbvezkvawqizercwt/Build/Intermediates.noindex/ArchiveIntermediates/Sendy/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GTMSessionFetcher.framework”: 1)目标“GTMSessionFetcher-Core”具有创建目录命令,输出为“/Users/matan/Library/Developer/Xcode/DerivedData/Sendy-bqdzdmefsanhbvezkvawqizercwt/Build/Intermediates.noindex/ArchiveIntermediates/Sendy/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GTMSessionFetcher。框架' 2)目标“GTMSessionFetcher.default-Core”具有创建目录命令,输出为“/Users/matan/Library/Developer/Xcode/DerivedData/Sendy-bqdzdmefsanhbvezkvawqizercwt/Build/Intermediates.noindex/ArchiveIntermediates/Sendy/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/ GTMSessionFetcher.framework'

多个命令生成“/Users/matan/Library/Developer/Xcode/DerivedData/Sendy-bqdzdmefsanhbvezkvawqizercwt/Build/Intermediates.noindex/ArchiveIntermediates/Sendy/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GoogleUtilities.framework”: 1)目标“GoogleUtilities-00567490”具有创建目录命令,输出为“/Users/matan/Library/Developer/Xcode/DerivedData/Sendy-bqdzdmefsanhbvezkvawqizercwt/Build/Intermediates.noindex/ArchiveIntermediates/Sendy/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GoogleUtilities。框架' 2)目标“GoogleUtilities-ac14cd06”具有创建目录命令,输出为“/Users/matan/Library/Developer/Xcode/DerivedData/Sendy-bqdzdmefsanhbvezkvawqizercwt/Build/Intermediates.noindex/ArchiveIntermediates/Sendy/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GoogleUtilities.框架'

Pod 文件:

project 'Sendy.xcodeproj'

# Uncomment the next line to define a global platform for your project
platform :ios, '13.0'

abstract_target 'SendyPods' do

  use_frameworks!

  pod 'Firebase/Core'
  pod 'Firebase/Auth'
  pod 'Firebase/Storage'
  pod 'Firebase/Firestore'
  pod 'FirebaseFirestoreSwift'

  target 'Sendy' do
    pod 'Firebase/Crashlytics'
    pod 'Firebase/Analytics'
    pod 'Firebase/Performance'
    pod 'FirebaseMessaging'
    pod 'GoogleSignIn'
  end

  target 'SendyIntents'

  target 'SendyIntentsUI'

end

【问题讨论】:

【参考方案1】:

我最终将构建系统更改为在 Xcode 10 之前使用的旧版构建系统。 您可以在 File -> Workspace Settings -> Build System 切换到 Legacy Build System。

【讨论】:

使用旧版构建系统有什么缺点吗? @bze12 旧版构建系统的构建时间较慢 您是否设法更新到新的构建系统? @m1sh0 是的,但只有在我切换到迦太基之后。

以上是关于使用 CocoaPods 在多个目标中引用 Firebase 时构建运行但存档失败的主要内容,如果未能解决你的问题,请参考以下文章