Files
firebase-ios-sdk/FirebaseMessaging.podspec
T
Ryan Wilson bbcac27b72 Release 6.10.0 (#4022)
* 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
2019-10-09 12:10:33 -04:00

63 lines
2.3 KiB
Ruby

Pod::Spec.new do |s|
s.name = 'FirebaseMessaging'
s.version = '4.1.6'
s.summary = 'Firebase Messaging for iOS'
s.description = <<-DESC
Firebase Messaging for iOS is a service that allows you to send data from your server to your users'
iOS device, and also to receive messages from devices on the same connection. The service handles
all aspects of queueing of messages and delivery to the target iOS application running on the target
device, and it is completely free.
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 => 'Messaging-' + 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
base_dir = "Firebase/Messaging/"
s.source_files = base_dir + '**/*.[mh]'
s.requires_arc = base_dir + '*.m'
s.public_header_files = base_dir + 'Public/*.h'
s.library = 'sqlite3'
s.pod_target_xcconfig = {
'GCC_C_LANGUAGE_STANDARD' => 'c99',
'GCC_PREPROCESSOR_DEFINITIONS' =>
'GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1 ' +
'FIRMessaging_LIB_VERSION=' + String(s.version),
# Unit tests do library imports using repo-root relative paths.
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"',
}
s.framework = 'SystemConfiguration'
s.weak_framework = 'UserNotifications'
s.dependency 'FirebaseAnalyticsInterop', '~> 1.3'
s.dependency 'FirebaseCore', '~> 6.2'
s.dependency 'FirebaseInstanceID', '~> 4.1'
s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 6.2'
s.dependency 'GoogleUtilities/Reachability', '~> 6.2'
s.dependency 'GoogleUtilities/Environment', '~> 6.2'
s.dependency 'GoogleUtilities/UserDefaults', '~> 6.2'
s.dependency 'Protobuf', '~> 3.9', '>= 3.9.2'
s.test_spec 'unit' do |unit_tests|
unit_tests.source_files = 'Example/Messaging/Tests/*.{m,h,swift}'
unit_tests.requires_app_host = true
unit_tests.pod_target_xcconfig = {
'CLANG_ENABLE_OBJC_WEAK' => 'YES'
}
unit_tests.dependency 'OCMock'
end
end