mirror of
https://github.com/firebase/firebase-ios-sdk
synced 2026-11-10 22:45:59 +05:45
* Update versions for Release 6.10.0 * Cherrypick #3983 and include Database in release. (#3986) * Remove log argument that causes SocketRocket crash (#3983) * Add FirebaseDatabase to release. * Update CHANGELOG with version. * Cherrypick for #3984 along with CHANGELOG update. (#3988) * Fix race condition in FIRComponentContainer instance creation (#3984) * Fix race condition in FIRComponentContainer instance creation Reported in #3967. Users sometimes seeing a crash when multiple threads concurrently try to create Firestore instances. By inspection I found that there's a race here where two threads can check for presence in the cache, see nothing, proceed to creation, both store a value in the cache, and both return their copies. This would lead to two Firestores being created for a single App. This replaces `dispatch_sync` on a serial queue with good old `@synchronized` blocks. `dispatch_sync` will self-deadlock if called from a thread already on the queue while `@synchronized` allows recursion. No new tests are added because several tests like `testDependencyDoesntBlock` already cover this case. * format * Update Core CHANGELOG * Update Core CHANGELOG again * Fix merge from CHANGELOG
60 lines
2.2 KiB
Ruby
60 lines
2.2 KiB
Ruby
Pod::Spec.new do |s|
|
|
s.name = 'FirebaseCoreDiagnostics'
|
|
s.version = '1.1.1'
|
|
s.summary = 'Firebase Core Diagnostics'
|
|
|
|
s.description = <<-DESC
|
|
Firebase Core Diagnostics collects diagnostic data to help improve and provide Firebase services.
|
|
This SDK is integrated using a 'soft-link' mechanism and the bits be omitted by using a
|
|
non-Cocoapod integration. This library also respects the Firebase global data collection flag.
|
|
DESC
|
|
|
|
s.homepage = 'https://firebase.google.com'
|
|
s.license = { :type => 'Apache', :file => 'LICENSE' }
|
|
s.authors = 'Google, Inc.'
|
|
|
|
s.source = {
|
|
:git => 'https://github.com/firebase/firebase-ios-sdk.git',
|
|
:tag => 'CoreDiagnostics-' + s.version.to_s
|
|
}
|
|
s.social_media_url = 'https://twitter.com/Firebase'
|
|
s.ios.deployment_target = '8.0'
|
|
s.osx.deployment_target = '10.11'
|
|
s.tvos.deployment_target = '10.0'
|
|
|
|
s.cocoapods_version = '>= 1.4.0'
|
|
s.static_framework = true
|
|
s.prefix_header_file = false
|
|
|
|
header_search_paths = {
|
|
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}/Firebase/CoreDiagnostics/"'
|
|
}
|
|
|
|
s.pod_target_xcconfig = {
|
|
'GCC_C_LANGUAGE_STANDARD' => 'c99',
|
|
'GCC_TREAT_WARNINGS_AS_ERRORS' => 'YES',
|
|
'CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY' => 'YES',
|
|
'GCC_PREPROCESSOR_DEFINITIONS' =>
|
|
# The nanopb pod sets these defs, so we must too. (We *do* require 16bit
|
|
# (or larger) fields, so we'd have to set at least PB_FIELD_16BIT
|
|
# anyways.)
|
|
'PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1',
|
|
}.merge(header_search_paths)
|
|
|
|
s.source_files = 'Firebase/CoreDiagnostics/FIRCDLibrary/**/*.[cmh]'
|
|
s.framework = 'Foundation'
|
|
|
|
s.dependency 'FirebaseCoreDiagnosticsInterop', '~> 1.0'
|
|
s.dependency 'GoogleDataTransportCCTSupport', '~> 1.0'
|
|
s.dependency 'GoogleUtilities/Environment', '~> 6.2'
|
|
s.dependency 'GoogleUtilities/Logger', '~> 6.2'
|
|
s.dependency 'nanopb', '~> 0.3.901'
|
|
|
|
s.test_spec 'unit' do |unit_tests|
|
|
unit_tests.dependency 'GoogleUtilities/UserDefaults', '~> 6.2'
|
|
unit_tests.dependency 'OCMock'
|
|
unit_tests.source_files = 'Example/CoreDiagnostics/Tests/**/*.[mh]'
|
|
unit_tests.requires_app_host = false
|
|
end
|
|
end
|