多个命令在存档上产生gRPCCertificates.bundle错误(iOS Xcode 11.1,Firebase SDK)

时间:2019-10-16 21:25:08

标签: ios swift xcode google-cloud-firestore grpc

在更新到最新的Cocoapods时,我更新了googleapis pod,并在Xcode 11.1中存档版本时遇到以下错误:

Multiple commands produce '...iphoneos/gRPCCertificates.bundle'

1)目标'gRPC-gRPCCertificates

2)目标'gRPC-C ++-gRPCCertificates

如何删除构建目标gRPC-C ++证书?正在查看“构建设置”,似乎在这里找不到任何内容。

这是我的Podfile:

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

target 'Kintsugi Mindful Wellness' do

    use_frameworks!

    # Pods for Kintsugi Mindful Wellness
    pod 'Firebase/Core'
    pod 'Firebase/Auth'
    pod 'Firebase/Firestore'
    pod 'Firebase/Database'
    pod 'Firebase/Crash'
    pod 'Firebase/RemoteConfig'
    pod 'Firebase/Storage'
    pod 'Firebase/Performance'
    pod 'Firebase/Functions'
    pod 'Firebase/Messaging'

    pod 'googleapis', :path=> "."

    pod 'GoogleSignIn'

    ...

    target 'Kintsugi Mindful WellnessTests' do
        inherit! :search_paths
    end

    target 'Kintsugi Mindful WellnessUITests' do
        inherit! :search_paths
    end

end

较早的线程提到更新到最新的pod(https://github.com/firebase/firebase-ios-sdk/issues/2102),但我已经这样做了,并且一直遇到这个问题(发生每次操作系统更新,但忘记了在哪里更改此配置)。

当我使用旧版构建系统时,出现了如下更细化的错误:

Lexical or Preprocessor Issue
Include of non-modular header inside framework module 'GRPCClient': '.../Build/Intermediates.noindex/ArchiveIntermediates/.../gRPC-umbrella.h

While building module 'ProtoRPC' imported from /...google/cloud/speech/v1/CloudSpeech.pbrpc.h:6

While building module 'GRPCClient' imported from /.../Intermediates.noindex/ArchiveIntermediates/.../BuildProducts...

In file included from <module-includes>:1:

Parse issue
Could not build module 'GRPCClient'
ProtoRPC.h

While building module 'ProtoRPC' imported from /.../CloudSpeech.pbrpc.h:6:

In file included from <module-includes>:1:
In file included from /.../gRPC-ProtoRPC/gRPC-ProtoRPC-umbrella.h:14:

Could not build module 'ProtoRPC'
CloudSpeech.pbrpc.h
In file included from /.../v1/CloudSpeech.pbrpc.m:2

1 个答案:

答案 0 :(得分:0)

重复的gRPC证书捆绑包可在“产品”中找到。

screenshot of the duplicate bundle in Products

要删除重复的捆绑包,请选择Pod,然后从目标服务器中删除其中一个证书(例如gRPC-C ++-gRPCCertificates):

enter image description here