Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: Firebase iOS SDK version: 10.0.0 #9708

Merged
merged 33 commits into from Oct 18, 2022
Merged
Show file tree
Hide file tree
Changes from 31 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
1c84b5d
feat(ios): iOS SDK 10.0.0
russellwheatley Oct 11, 2022
d1ac9e7
feat(ios): remove Firestore from test project
russellwheatley Oct 11, 2022
a270b7b
feat(ios): remove ios-frameworks from build
russellwheatley Oct 11, 2022
13dba25
feat(ios): reinsert ios-frameworks for Firestore build
russellwheatley Oct 11, 2022
bbfb430
fix(firestore): add nanopb pod to example
russellwheatley Oct 12, 2022
fe21fea
fix(firestore): add nanopb pod to podspec for apple
russellwheatley Oct 12, 2022
af83405
fix(storage): iOS 10 fatal error when calling emulator twice
russellwheatley Oct 12, 2022
47cf722
fix(storage): reinstate emulator
russellwheatley Oct 12, 2022
64eaab8
fix(storage, ios): fix StorageMetadata bug
russellwheatley Oct 12, 2022
ab5247c
chore: update macOS & iOS podspec minimum deployment targets for iOS …
russellwheatley Oct 12, 2022
dfe0173
chore: update macOS iOS podspec for storage
russellwheatley Oct 12, 2022
e515eea
chore: update storage example Podfile
russellwheatley Oct 12, 2022
66908b4
test(storage): skip broken test
russellwheatley Oct 13, 2022
02cd202
fix(storage): fix settable metadata on iOS
russellwheatley Oct 13, 2022
156bf08
chore: format
russellwheatley Oct 13, 2022
4e11e9b
Merge branch 'master' into @russell/ios-sdk-10
russellwheatley Oct 14, 2022
4d47cde
test(storage): change ordering of tests. speculative fix.
russellwheatley Oct 14, 2022
3484fc1
Merge branch 'master' into @russell/ios-sdk-10
russellwheatley Oct 14, 2022
d746454
test: invesitagate test timeout
russellwheatley Oct 17, 2022
4102c03
test: invesitagate test timeout
russellwheatley Oct 17, 2022
4947132
test: skip test timing out on iOS
russellwheatley Oct 17, 2022
2179f5d
Update reference_e2e.dart
russellwheatley Oct 17, 2022
cda89df
test: ensure web is skipped for test
russellwheatley Oct 17, 2022
7ce6b35
test: ensure web is skipped for test
russellwheatley Oct 17, 2022
2216953
chore: remove deployment target for iOS
russellwheatley Oct 17, 2022
d228935
chore: remove deployment target for macOS
russellwheatley Oct 17, 2022
1f04bc5
Revert "chore: remove deployment target for macOS"
russellwheatley Oct 17, 2022
59f0945
Revert "chore: remove deployment target for iOS"
russellwheatley Oct 17, 2022
9aa2003
chore: remove use_modular_headers!
russellwheatley Oct 17, 2022
0888bf0
chore: revert emulator call back to original method
russellwheatley Oct 17, 2022
2f267a3
Update packages/cloud_firestore/cloud_firestore/ios/cloud_firestore.p…
russellwheatley Oct 18, 2022
0626955
Apply suggestions from code review
russellwheatley Oct 18, 2022
d6c19b1
test: fix dynamic link test
russellwheatley Oct 18, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -24,17 +24,20 @@ Pod::Spec.new do |s|
s.license = { :file => '../LICENSE' }
s.authors = 'The Chromium Authors'
s.source = { :path => '.' }

s.source_files = 'Classes/**/*.{h,m}'
s.public_header_files = 'Classes/Public/*.h'
s.private_header_files = 'Classes/Private/*.h'

s.ios.deployment_target = '10.0'
s.ios.deployment_target = '11.0'
s.dependency 'Flutter'

s.dependency 'firebase_core'
s.dependency 'Firebase/Firestore', firebase_sdk_version

# required until firestore-ios-sdk-frameworks is updated, otherwise users of that distribution will have compile failures
# see https://github.com/invertase/firestore-ios-sdk-frameworks/issues/59
s.dependency 'nanopb', '>= 2.30908.0', '< 2.30910.0'

s.static_framework = true
s.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\@\\\"#{library_version}\\\" LIBRARY_NAME=\\@\\\"flutter-fire-fst\\\"",
Expand Down
Expand Up @@ -47,7 +47,7 @@ Pod::Spec.new do |s|
s.public_header_files = 'Classes/Public/*.h'
s.private_header_files = 'Classes/Private/*.h'

s.platform = :osx, '10.12'
s.platform = :osx, '10.13'

# Flutter dependencies
s.dependency 'FlutterMacOS'
Expand All @@ -56,6 +56,7 @@ Pod::Spec.new do |s|
s.dependency 'firebase_core'
s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}"
s.dependency 'Firebase/Firestore', "~> #{firebase_sdk_version}"
s.dependency 'nanopb'
russellwheatley marked this conversation as resolved.
Show resolved Hide resolved

s.static_framework = true
s.pod_target_xcconfig = {
Expand Down
Expand Up @@ -16,6 +16,6 @@ Pod::Spec.new do |s|
s.public_header_files = 'Classes/**/*.h'
s.dependency 'Flutter'

s.ios.deployment_target = '10.0'
s.ios.deployment_target = '11.0'
end

Expand Up @@ -26,7 +26,7 @@ Pod::Spec.new do |s|
s.source = { :path => '.' }
s.source_files = 'Classes/**/*.{h,m}'
s.public_header_files = 'Classes/*.h'
s.ios.deployment_target = '10.0'
s.ios.deployment_target = '11.0'

# Flutter dependencies
s.dependency 'Flutter'
Expand Down
Expand Up @@ -15,7 +15,7 @@ else
end

begin
required_macos_version = "10.12"
required_macos_version = "10.13"
current_target_definition = Pod::Config.instance.podfile.send(:current_target_definition)
user_osx_target = current_target_definition.to_hash["platform"]["osx"]
if (Gem::Version.new(user_osx_target) < Gem::Version.new(required_macos_version))
Expand Down Expand Up @@ -43,7 +43,7 @@ Pod::Spec.new do |s|
s.source = { :path => '.' }
s.source_files = 'Classes/**/*.{h,m}'
s.public_header_files = 'Classes/*.h'
s.platform = :osx, '10.12'
s.platform = :osx, '10.13'

# Flutter dependencies
s.dependency 'FlutterMacOS'
Expand Down
Expand Up @@ -34,7 +34,7 @@ Pod::Spec.new do |s|
s.public_header_files = 'Classes/Public/*.h'
s.private_header_files = 'Classes/Private/*.h'

s.ios.deployment_target = '10.0'
s.ios.deployment_target = '11.0'
s.dependency 'Flutter'

s.dependency 'firebase_core'
Expand Down
Expand Up @@ -21,7 +21,7 @@ else
end

begin
required_macos_version = "10.12"
required_macos_version = "10.13"
current_target_definition = Pod::Config.instance.podfile.send(:current_target_definition)
user_osx_target = current_target_definition.to_hash["platform"]["osx"]
if (Gem::Version.new(user_osx_target) < Gem::Version.new(required_macos_version))
Expand Down Expand Up @@ -50,7 +50,7 @@ Pod::Spec.new do |s|

s.source_files = 'Classes/**/*.{h,m}'

s.platform = :osx, '10.12'
s.platform = :osx, '10.13'

# Flutter dependencies
s.dependency 'FlutterMacOS'
Expand Down

This file was deleted.

Expand Up @@ -26,7 +26,7 @@ Pod::Spec.new do |s|
s.source = { :path => '.' }
s.source_files = 'Classes/**/*.{h,m}'
s.public_header_files = 'Classes/*.h'
s.ios.deployment_target = '9.0'
s.ios.deployment_target = '11.0'

# Flutter dependencies
s.dependency 'Flutter'
Expand Down
Expand Up @@ -46,7 +46,7 @@ Pod::Spec.new do |s|
s.source_files = 'Classes/**/*.{h,m}'
s.public_header_files = 'Classes/*.h'

s.platform = :osx, '10.12'
s.platform = :osx, '10.13'

# Flutter dependencies
s.dependency 'FlutterMacOS'
Expand Down
Expand Up @@ -26,15 +26,15 @@ Pod::Spec.new do |s|
s.source = { :path => '.' }
s.source_files = 'Classes/**/*'
s.public_header_files = 'Classes/**/*.h'
s.ios.deployment_target = '10.0'

s.ios.deployment_target = '11.0'

s.swift_version = '5.5'

s.dependency 'Flutter'
s.dependency 'firebase_core'
s.dependency 'Firebase/Installations', firebase_sdk_version

s.static_framework = true
s.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\@\\\"#{library_version}\\\" LIBRARY_NAME=\\@\\\"flutter-fire-installations\\\"",
Expand Down
Expand Up @@ -44,7 +44,7 @@ Pod::Spec.new do |s|
s.source = { :path => '.' }
s.source_files = 'Classes/**/*'

s.platform = :osx, '10.12'
s.platform = :osx, '10.13'

# Flutter dependencies
s.dependency 'FlutterMacOS'
Expand Down
Expand Up @@ -24,18 +24,18 @@ Pod::Spec.new do |s|
s.license = { :file => '../LICENSE' }
s.authors = 'The Chromium Authors'
s.source = { :path => '.' }

s.source_files = 'Classes/**/*.{h,m}'
s.public_header_files = 'Classes/**/*.h'

s.ios.deployment_target = '10.0'
s.ios.deployment_target = '11.0'
s.dependency 'Flutter'

s.dependency 'firebase_core'
s.dependency 'Firebase/Auth', firebase_sdk_version

s.static_framework = true
s.pod_target_xcconfig = {
s.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\@\\\"#{library_version}\\\" LIBRARY_NAME=\\@\\\"flutter-fire-auth\\\"",
'DEFINES_MODULE' => 'YES'
}
Expand Down
Expand Up @@ -46,7 +46,7 @@ Pod::Spec.new do |s|
s.source_files = 'Classes/**/*.{h,m}'
s.public_header_files = 'Classes/**/*.h'

s.platform = :osx, '10.12'
s.platform = :osx, '10.13'

# Flutter dependencies
s.dependency 'FlutterMacOS'
Expand Down

This file was deleted.

Expand Up @@ -27,7 +27,7 @@ Pod::Spec.new do |s|
s.source_files = 'Classes/**/*'
s.public_header_files = 'Classes/**/*.h'

s.ios.deployment_target = '9.0'
s.ios.deployment_target = '11.0'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see on https://github.com/firebase/firebase-ios-sdk/blob/174be0d92bd6706b30a7a9d18f6bbe2319809e03/Firebase.podspec that the ios.deployment_target is still 10.0.

Do we need to manually add the deployment target? Or should CocoaPod just pick it from the dependency? It would me one less thing to maintain from our side

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see what you mean, but see what @Salakar thinks as I'm not sure.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe we can remove it or at a minimum set it back to 10.0

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've removed deployment targets for macOS & iOS.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing deployment targets caused build failures so I guess we do need them. Not sure we should go back to version 10, @Salakar. See documentation. Also - look at the CI logs I linked in build failures. Sample:

of supported deployment target versions is 11.0 to 16.0.99. (in target 'FirebaseAppCheckInterop' from project 'Pods')
    /Users/runner/work/flutterfire/flutterfire/tests/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.0.99. (in target 'GoogleAppMeasurement' from project 'Pods')

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pod relies on 10.0 and above still, but if the docs say they want to support 11+ then sticking to 11 here is fine by me!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this makes it a breaking change now across all plugins. I'm also a little concerned about the behaviour of Storage (it's completely changed to a Swift implementation) as I wonder what other edge cases have changed (e.g. exceptions/errors) that we aren't capturing in our CI.


# Flutter dependencies
s.dependency 'Flutter'
Expand Down
@@ -1,4 +1,4 @@
# https://firebase.google.com/support/release-notes/ios
def firebase_sdk_version!()
'9.6.0'
'10.0.0'
end
Expand Up @@ -44,7 +44,7 @@ Pod::Spec.new do |s|
s.source = { :path => '.' }
s.source_files = 'Classes/**/*'

s.platform = :osx, '10.12'
s.platform = :osx, '10.13'

# Flutter dependencies
s.dependency 'FlutterMacOS'
Expand Down

This file was deleted.

Expand Up @@ -34,7 +34,7 @@ Pod::Spec.new do |s|
s.source_files = 'Classes/**/*'
s.public_header_files = 'Classes/**/*.h'

s.ios.deployment_target = '9.0'
s.ios.deployment_target = '11.0'

s.dependency 'Flutter'
s.dependency 'firebase_core'
Expand Down
Expand Up @@ -56,7 +56,7 @@ Pod::Spec.new do |s|
s.source_files = 'Classes/**/*.{h,m}'
s.public_header_files = 'Classes/**/*.h'

s.platform = :osx, '10.12'
s.platform = :osx, '10.13'

# Flutter dependencies
s.dependency 'FlutterMacOS'
Expand Down
Expand Up @@ -24,16 +24,16 @@ Pod::Spec.new do |s|
s.license = { :file => '../LICENSE' }
s.authors = 'The Chromium Authors'
s.source = { :path => '.' }

s.source_files = 'Classes/**/*.{h,m}'
s.public_header_files = 'Classes/*.h'

s.ios.deployment_target = '10.0'
s.ios.deployment_target = '11.0'
s.dependency 'Flutter'

s.dependency 'firebase_core'
s.dependency 'Firebase/Database', firebase_sdk_version

s.static_framework = true
s.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\@\\\"#{library_version}\\\" LIBRARY_NAME=\\@\\\"flutter-fire-rtdb\\\"",
Expand Down
Expand Up @@ -46,7 +46,7 @@ Pod::Spec.new do |s|
s.source_files = 'Classes/**/*.{h,m}'
s.public_header_files = 'Classes/*.h'

s.platform = :osx, '10.12'
s.platform = :osx, '10.13'

# Flutter dependencies
s.dependency 'FlutterMacOS'
Expand Down
Expand Up @@ -27,7 +27,7 @@ Pod::Spec.new do |s|
s.source_files = 'Classes/**/*'
s.public_header_files = 'Classes/**/*.h'
s.dependency 'Flutter'
s.ios.deployment_target = '10.0'
s.ios.deployment_target = '11.0'
s.static_framework = true
s.dependency 'firebase_core'
s.dependency 'Firebase/DynamicLinks', firebase_sdk_version
Expand Down
Expand Up @@ -31,7 +31,7 @@ Pod::Spec.new do |s|
s.dependency 'Firebase/InAppMessaging', firebase_sdk_version
s.static_framework = true

s.ios.deployment_target = '10.0'
s.ios.deployment_target = '11.0'

s.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\@\\\"#{library_version}\\\" LIBRARY_NAME=\\@\\\"flutter-fire-fiam\\\"",
Expand Down
Expand Up @@ -28,7 +28,7 @@ Pod::Spec.new do |s|
s.source_files = 'Classes/**/*.{h,m}'
s.public_header_files = 'Classes/*.h'

s.ios.deployment_target = '10.0'
s.ios.deployment_target = '11.0'

s.dependency 'Flutter'

Expand Down
Expand Up @@ -46,7 +46,7 @@ Pod::Spec.new do |s|
s.source_files = 'Classes/**/*.{h,m}'
s.public_header_files = 'Classes/**/*.h'

s.platform = :osx, '10.12'
s.platform = :osx, '10.13'

# Flutter dependencies
s.dependency 'FlutterMacOS'
Expand Down
Expand Up @@ -28,7 +28,7 @@ Pod::Spec.new do |s|
s.source_files = 'Classes/**/*'
s.public_header_files = 'Classes/**/*.h'

s.ios.deployment_target = '10.0'
s.ios.deployment_target = '11.0'


s.dependency 'Flutter'
Expand Down
Expand Up @@ -44,7 +44,7 @@ Pod::Spec.new do |s|
s.source = { :path => '.' }
s.source_files = 'Classes/**/*'

s.platform = :osx, '10.12'
s.platform = :osx, '10.13'

# Flutter dependencies
s.dependency 'FlutterMacOS'
Expand Down
Expand Up @@ -32,10 +32,10 @@ Pod::Spec.new do |s|
s.dependency 'Flutter'
s.dependency 'firebase_core'
s.dependency 'Firebase/Performance', firebase_sdk_version
s.ios.deployment_target = '10.0'
s.ios.deployment_target = '11.0'
s.static_framework = true

s.pod_target_xcconfig = {
s.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\@\\\"#{library_version}\\\" LIBRARY_NAME=\\@\\\"flutter-fire-perf\\\"",
'DEFINES_MODULE' => 'YES'
}
Expand Down