firebase-ios-sdk: Xcode Can't Build Due to gRPC Bug (Firestore dependency)
[REQUIRED] Step 1: Describe your environment
- Xcode version: 11.4.1
- Firebase SDK version: 6.23
- Firebase Component: Firestore
- Component version: 6.23
- Installation method: CocoaPods
- CocoaPods version: 1.9.1
[REQUIRED] Step 2: Describe the problem
Steps to reproduce:
- Create “Hello World” app with SwiftUI on the latest Xcode and OSX
- Follow Firebase installation process outlined here https://firebase.google.com/docs/ios/setup
- add
pod 'Firebase/Firestore'to the Podfile - run
pod install - build app
Relevant Code:
After following the steps above, here is a screenshot of the build error: https://ibb.co/DKjF46G
If pod 'Firebase/Firestore' is commented out, it builds fine. Firestore is the library that has the dependency on gRPC, and gRPC has the bug.
Here is the full error message:
Use of undeclared identifier 'SSL_get_secure_renegotiation_support'; did you mean 'GRPC_SHADOW_SSL_get_secure_renegotiation_support'?
Here is an issue on gRPC that references the exact same error message: https://github.com/grpc/grpc/issues/19908
Here is the Podfile:
# Define a global platform
platform :ios, '13.0'
target 'Yolo' do
# Enable dynamic frameworks
use_frameworks!
# Pods for Yolo
pod 'Firebase/Analytics'
pod 'Firebase/Auth'
pod 'Firebase/Firestore'
pod 'Firebase/Functions'
pod 'Firebase/Storage'
end
Here is the Podfile.lock:
PODS:
- abseil/algorithm (0.20190808):
- abseil/algorithm/algorithm (= 0.20190808)
- abseil/algorithm/container (= 0.20190808)
- abseil/algorithm/algorithm (0.20190808)
- abseil/algorithm/container (0.20190808):
- abseil/algorithm/algorithm
- abseil/base/core_headers
- abseil/meta/type_traits
- abseil/base (0.20190808):
- abseil/base/atomic_hook (= 0.20190808)
- abseil/base/base (= 0.20190808)
- abseil/base/base_internal (= 0.20190808)
- abseil/base/bits (= 0.20190808)
- abseil/base/config (= 0.20190808)
- abseil/base/core_headers (= 0.20190808)
- abseil/base/dynamic_annotations (= 0.20190808)
- abseil/base/endian (= 0.20190808)
- abseil/base/log_severity (= 0.20190808)
- abseil/base/malloc_internal (= 0.20190808)
- abseil/base/pretty_function (= 0.20190808)
- abseil/base/spinlock_wait (= 0.20190808)
- abseil/base/throw_delegate (= 0.20190808)
- abseil/base/atomic_hook (0.20190808)
- abseil/base/base (0.20190808):
- abseil/base/atomic_hook
- abseil/base/base_internal
- abseil/base/config
- abseil/base/core_headers
- abseil/base/dynamic_annotations
- abseil/base/log_severity
- abseil/base/spinlock_wait
- abseil/meta/type_traits
- abseil/base/base_internal (0.20190808):
- abseil/meta/type_traits
- abseil/base/bits (0.20190808):
- abseil/base/core_headers
- abseil/base/config (0.20190808)
- abseil/base/core_headers (0.20190808):
- abseil/base/config
- abseil/base/dynamic_annotations (0.20190808)
- abseil/base/endian (0.20190808):
- abseil/base/config
- abseil/base/core_headers
- abseil/base/log_severity (0.20190808):
- abseil/base/core_headers
- abseil/base/malloc_internal (0.20190808):
- abseil/base/base
- abseil/base/config
- abseil/base/core_headers
- abseil/base/dynamic_annotations
- abseil/base/spinlock_wait
- abseil/base/pretty_function (0.20190808)
- abseil/base/spinlock_wait (0.20190808):
- abseil/base/core_headers
- abseil/base/throw_delegate (0.20190808):
- abseil/base/base
- abseil/base/config
- abseil/memory (0.20190808):
- abseil/memory/memory (= 0.20190808)
- abseil/memory/memory (0.20190808):
- abseil/base/core_headers
- abseil/meta/type_traits
- abseil/meta (0.20190808):
- abseil/meta/type_traits (= 0.20190808)
- abseil/meta/type_traits (0.20190808):
- abseil/base/config
- abseil/numeric/int128 (0.20190808):
- abseil/base/config
- abseil/base/core_headers
- abseil/strings/internal (0.20190808):
- abseil/base/core_headers
- abseil/base/endian
- abseil/meta/type_traits
- abseil/strings/strings (0.20190808):
- abseil/base/base
- abseil/base/bits
- abseil/base/config
- abseil/base/core_headers
- abseil/base/endian
- abseil/base/throw_delegate
- abseil/memory/memory
- abseil/meta/type_traits
- abseil/numeric/int128
- abseil/strings/internal
- abseil/time (0.20190808):
- abseil/time/internal (= 0.20190808)
- abseil/time/time (= 0.20190808)
- abseil/time/internal (0.20190808):
- abseil/time/internal/cctz (= 0.20190808)
- abseil/time/internal/cctz (0.20190808):
- abseil/time/internal/cctz/civil_time (= 0.20190808)
- abseil/time/internal/cctz/includes (= 0.20190808)
- abseil/time/internal/cctz/time_zone (= 0.20190808)
- abseil/time/internal/cctz/civil_time (0.20190808)
- abseil/time/internal/cctz/includes (0.20190808)
- abseil/time/internal/cctz/time_zone (0.20190808):
- abseil/time/internal/cctz/civil_time
- abseil/time/time (0.20190808):
- abseil/base/base
- abseil/base/core_headers
- abseil/numeric/int128
- abseil/strings/strings
- abseil/time/internal/cctz/civil_time
- abseil/time/internal/cctz/time_zone
- abseil/types (0.20190808):
- abseil/types/any (= 0.20190808)
- abseil/types/bad_any_cast (= 0.20190808)
- abseil/types/bad_any_cast_impl (= 0.20190808)
- abseil/types/bad_optional_access (= 0.20190808)
- abseil/types/bad_variant_access (= 0.20190808)
- abseil/types/compare (= 0.20190808)
- abseil/types/optional (= 0.20190808)
- abseil/types/span (= 0.20190808)
- abseil/types/variant (= 0.20190808)
- abseil/types/any (0.20190808):
- abseil/base/config
- abseil/base/core_headers
- abseil/meta/type_traits
- abseil/types/bad_any_cast
- abseil/utility/utility
- abseil/types/bad_any_cast (0.20190808):
- abseil/base/config
- abseil/types/bad_any_cast_impl
- abseil/types/bad_any_cast_impl (0.20190808):
- abseil/base/base
- abseil/base/config
- abseil/types/bad_optional_access (0.20190808):
- abseil/base/base
- abseil/base/config
- abseil/types/bad_variant_access (0.20190808):
- abseil/base/base
- abseil/base/config
- abseil/types/compare (0.20190808):
- abseil/base/core_headers
- abseil/meta/type_traits
- abseil/types/optional (0.20190808):
- abseil/base/base_internal
- abseil/base/config
- abseil/base/core_headers
- abseil/memory/memory
- abseil/meta/type_traits
- abseil/types/bad_optional_access
- abseil/utility/utility
- abseil/types/span (0.20190808):
- abseil/algorithm/algorithm
- abseil/base/core_headers
- abseil/base/throw_delegate
- abseil/meta/type_traits
- abseil/types/variant (0.20190808):
- abseil/base/base_internal
- abseil/base/config
- abseil/base/core_headers
- abseil/meta/type_traits
- abseil/types/bad_variant_access
- abseil/utility/utility
- abseil/utility/utility (0.20190808):
- abseil/base/base_internal
- abseil/base/config
- abseil/meta/type_traits
- BoringSSL-GRPC (0.0.3):
- BoringSSL-GRPC/Implementation (= 0.0.3)
- BoringSSL-GRPC/Interface (= 0.0.3)
- BoringSSL-GRPC/Implementation (0.0.3):
- BoringSSL-GRPC/Interface (= 0.0.3)
- BoringSSL-GRPC/Interface (0.0.3)
- Firebase/Analytics (6.23.0):
- Firebase/Core
- Firebase/Auth (6.23.0):
- Firebase/CoreOnly
- FirebaseAuth (~> 6.5.2)
- Firebase/Core (6.23.0):
- Firebase/CoreOnly
- FirebaseAnalytics (= 6.4.2)
- Firebase/CoreOnly (6.23.0):
- FirebaseCore (= 6.6.7)
- Firebase/Firestore (6.23.0):
- Firebase/CoreOnly
- FirebaseFirestore (~> 1.12.1)
- Firebase/Functions (6.23.0):
- Firebase/CoreOnly
- FirebaseFunctions (~> 2.5.1)
- Firebase/Storage (6.23.0):
- Firebase/CoreOnly
- FirebaseStorage (~> 3.6.1)
- FirebaseAnalytics (6.4.2):
- FirebaseCore (~> 6.6)
- FirebaseInstallations (~> 1.2)
- GoogleAppMeasurement (= 6.4.2)
- GoogleUtilities/AppDelegateSwizzler (~> 6.0)
- GoogleUtilities/MethodSwizzler (~> 6.0)
- GoogleUtilities/Network (~> 6.0)
- "GoogleUtilities/NSData+zlib (~> 6.0)"
- nanopb (= 0.3.9011)
- FirebaseAuth (6.5.2):
- FirebaseAuthInterop (~> 1.0)
- FirebaseCore (~> 6.6)
- GoogleUtilities/AppDelegateSwizzler (~> 6.5)
- GoogleUtilities/Environment (~> 6.5)
- GTMSessionFetcher/Core (~> 1.1)
- FirebaseAuthInterop (1.1.0)
- FirebaseCore (6.6.7):
- FirebaseCoreDiagnostics (~> 1.2)
- FirebaseCoreDiagnosticsInterop (~> 1.2)
- GoogleUtilities/Environment (~> 6.5)
- GoogleUtilities/Logger (~> 6.5)
- FirebaseCoreDiagnostics (1.2.4):
- FirebaseCoreDiagnosticsInterop (~> 1.2)
- GoogleDataTransportCCTSupport (~> 3.0)
- GoogleUtilities/Environment (~> 6.5)
- GoogleUtilities/Logger (~> 6.5)
- nanopb (~> 0.3.901)
- FirebaseCoreDiagnosticsInterop (1.2.0)
- FirebaseFirestore (1.12.1):
- abseil/algorithm (= 0.20190808)
- abseil/base (= 0.20190808)
- abseil/memory (= 0.20190808)
- abseil/meta (= 0.20190808)
- abseil/strings/strings (= 0.20190808)
- abseil/time (= 0.20190808)
- abseil/types (= 0.20190808)
- FirebaseAuthInterop (~> 1.0)
- FirebaseCore (~> 6.2)
- "gRPC-C++ (= 0.0.9)"
- leveldb-library (~> 1.22)
- nanopb (~> 0.3.901)
- FirebaseFunctions (2.5.1):
- FirebaseAuthInterop (~> 1.0)
- FirebaseCore (~> 6.0)
- GTMSessionFetcher/Core (~> 1.1)
- FirebaseInstallations (1.2.0):
- FirebaseCore (~> 6.6)
- GoogleUtilities/Environment (~> 6.6)
- GoogleUtilities/UserDefaults (~> 6.6)
- PromisesObjC (~> 1.2)
- FirebaseStorage (3.6.1):
- FirebaseAuthInterop (~> 1.1)
- FirebaseCore (~> 6.6)
- GTMSessionFetcher/Core (~> 1.1)
- GoogleAppMeasurement (6.4.2):
- GoogleUtilities/AppDelegateSwizzler (~> 6.0)
- GoogleUtilities/MethodSwizzler (~> 6.0)
- GoogleUtilities/Network (~> 6.0)
- "GoogleUtilities/NSData+zlib (~> 6.0)"
- nanopb (= 0.3.9011)
- GoogleDataTransport (6.0.0)
- GoogleDataTransportCCTSupport (3.0.0):
- GoogleDataTransport (~> 6.0)
- nanopb (~> 0.3.901)
- GoogleUtilities/AppDelegateSwizzler (6.6.0):
- GoogleUtilities/Environment
- GoogleUtilities/Logger
- GoogleUtilities/Network
- GoogleUtilities/Environment (6.6.0):
- PromisesObjC (~> 1.2)
- GoogleUtilities/Logger (6.6.0):
- GoogleUtilities/Environment
- GoogleUtilities/MethodSwizzler (6.6.0):
- GoogleUtilities/Logger
- GoogleUtilities/Network (6.6.0):
- GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib"
- GoogleUtilities/Reachability
- "GoogleUtilities/NSData+zlib (6.6.0)"
- GoogleUtilities/Reachability (6.6.0):
- GoogleUtilities/Logger
- GoogleUtilities/UserDefaults (6.6.0):
- GoogleUtilities/Logger
- "gRPC-C++ (0.0.9)":
- "gRPC-C++/Implementation (= 0.0.9)"
- "gRPC-C++/Interface (= 0.0.9)"
- "gRPC-C++/Implementation (0.0.9)":
- "gRPC-C++/Interface (= 0.0.9)"
- gRPC-Core (= 1.21.0)
- nanopb (~> 0.3)
- "gRPC-C++/Interface (0.0.9)"
- gRPC-Core (1.21.0):
- gRPC-Core/Implementation (= 1.21.0)
- gRPC-Core/Interface (= 1.21.0)
- gRPC-Core/Implementation (1.21.0):
- BoringSSL-GRPC (= 0.0.3)
- gRPC-Core/Interface (= 1.21.0)
- nanopb (~> 0.3)
- gRPC-Core/Interface (1.21.0)
- GTMSessionFetcher/Core (1.4.0)
- leveldb-library (1.22)
- nanopb (0.3.9011):
- nanopb/decode (= 0.3.9011)
- nanopb/encode (= 0.3.9011)
- nanopb/decode (0.3.9011)
- nanopb/encode (0.3.9011)
- PromisesObjC (1.2.8)
DEPENDENCIES:
- Firebase/Analytics
- Firebase/Auth
- Firebase/Firestore
- Firebase/Functions
- Firebase/Storage
SPEC REPOS:
trunk:
- abseil
- BoringSSL-GRPC
- Firebase
- FirebaseAnalytics
- FirebaseAuth
- FirebaseAuthInterop
- FirebaseCore
- FirebaseCoreDiagnostics
- FirebaseCoreDiagnosticsInterop
- FirebaseFirestore
- FirebaseFunctions
- FirebaseInstallations
- FirebaseStorage
- GoogleAppMeasurement
- GoogleDataTransport
- GoogleDataTransportCCTSupport
- GoogleUtilities
- "gRPC-C++"
- gRPC-Core
- GTMSessionFetcher
- leveldb-library
- nanopb
- PromisesObjC
SPEC CHECKSUMS:
abseil: 18063d773f5366ff8736a050fe035a28f635fd27
BoringSSL-GRPC: db8764df3204ccea016e1c8dd15d9a9ad63ff318
Firebase: 585ae467b3edda6a5444e788fda6888f024d8d6f
FirebaseAnalytics: 558f7a03d19de451093032c806f39d5f9dff096e
FirebaseAuth: e50319ecc114acf93c2b9581e15d6604ddd7eeb2
FirebaseAuthInterop: a0f37ae05833af156e72028f648d313f7e7592e9
FirebaseCore: a2788a0d5f6c1dff17b8f79b4a73654a8d4bfdbd
FirebaseCoreDiagnostics: b59c024493a409f8aecba02c99928d0d8431d159
FirebaseCoreDiagnosticsInterop: 296e2c5f5314500a850ad0b83e9e7c10b011a850
FirebaseFirestore: f5c1798bf8ab3f7ce96adb5f259eed8c698941fd
FirebaseFunctions: 5af7c35d1c5e41608fecbb667eb6c4e672e318d0
FirebaseInstallations: 2119fb3e46b0a88bfdbf12562f855ee3252462fa
FirebaseStorage: f4f39ae834a7145963b913f54e2f24a9db1d8fac
GoogleAppMeasurement: 2253e99c1f22638cf234c059144660c338ad76c3
GoogleDataTransport: 061fe7d9b476710e3cd8ea51e8e07d8b67c2b420
GoogleDataTransportCCTSupport: 0f39025e8cf51f168711bd3fb773938d7e62ddb5
GoogleUtilities: 39530bc0ad980530298e9c4af8549e991fd033b1
"gRPC-C++": 9dfe7b44821e7b3e44aacad2af29d2c21f7cde83
gRPC-Core: c9aef9a261a1247e881b18059b84d597293c9947
GTMSessionFetcher: 6f5c8abbab8a9bce4bb3f057e317728ec6182b10
leveldb-library: 55d93ee664b4007aac644a782d11da33fba316f7
nanopb: 18003b5e52dab79db540fe93fe9579f399bd1ccd
PromisesObjC: c119f3cd559f50b7ae681fa59dc1acd19173b7e6
PODFILE CHECKSUM: a53cb40e25b52f6252d1f6beabf223ecdeda20dd
COCOAPODS: 1.9.1
As a result of this build error, Firestore is completely unusable for iOS apps when developing with the latest OSX and Xcode.
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 17 (7 by maintainers)
@paulb777 you are a SUPER HERO. that was it, i can
pod installFirestore on my own system and build now. thanks so much for all of the help, if you’re ever in LA beers are on me! 🍻if anyone else hits this kind of issue, i ran
rm -rf ~/.cocoapods, then i ranpod cache clean -allbut i don’t think that did anything because it returned the message[!] No cache for pod named -all foundbut following Paul’s logic, i also went ahead and manually deleted the entire/Library/Caches/CocoaPods/directory. then when i ranpod installit took noticeably more time to install for obvious reasons. then everything built no problem 🎉btw i’m also going to blow away that repro repo bc it has Google API keys in it.