Skip to content

Conversation

ncooke3
Copy link
Member

@ncooke3 ncooke3 commented Sep 19, 2022

Context

Firebase 10 is bumping the minimum supported versions for iOS, tvOS, and macOS.

The below table summarizes the key differences in the minimum supported versions between Firebase 9 (current) and Firebase 10 (upcoming):

Platform Firebase 9 Firebase 10
iOS 10.0 11.0*
macOS 10.12 10.13
tvOS 10.0 11.0

*Analytics will remain at 10.0. This is reflected by Analytics's dependencies.

Bumping iOS versions

The minimum iOS version is specified using the following pattern:

  1. ios_deployment_target = '10.0'
    s.ios.deployment_target = ios_deployment_target
    Find and replace script
    git grep --name-only "ios_deployment_target = '10.0'" -- \
      ':!FirebaseCore*.podspec' \
      ':!FirebaseInstallations.podspec' \
      ':!FirebaseAnalytics*.podspec' \
      ':!GoogleAppMeasurement*.podspec' \
      *.podspec \
      | xargs sed -i '' "s/ios_deployment_target = '10.0'/ios_deployment_target = '11.0'/g"

    FirebaseCore* and Installations are excluded as they are dependencies of Analytics
    which is not bumping it's iOS minimum version.

  2. s.ios.deployment_target = '9.0'
    Find and replace script
    git grep --name-only \
      -E "ios\.deployment_target(\s+)=(\s+)'10.0'" -- \
      ':!FirebaseCore*.podspec' \
      ':!FirebaseInstallations.podspec' \
      ':!FirebaseAnalytics*.podspec' \
      ':!GoogleAppMeasurement*.podspec' \
      ':!Firebase.podspec' \
      *.podspec | xargs sed -i '' -E "s/ios\.deployment_target( +)=( +)'10.0'/ios\.deployment_target\1=\2'11.0'/g"

    FirebaseCore* and Installations are excluded as they are dependencies of Analytics
    which is not bumping it's iOS minimum version.

    Additionally, the Firebase.podspec is excluded as it needs to manually be modified.

Bumping macOS versions

git grep --name-only "'10.12'" *.podspec | xargs sed -i '' "s/'10.12'/'10.13'/g"

Bumping tvOS versions

The minimum tvOS version is specified using the following pattern:

  1. tvos_deployment_target = '10.0'
    s.tvos.deployment_target = tvos_deployment_target
    Find and replace script
    git grep --name-only "tvos_deployment_target = '10.0'" -- \
      *.podspec \
      | xargs sed -i '' "s/tvos_deployment_target = '10.0'/tvos_deployment_target = '11.0'/g"
  2. s.tvos.deployment_target = '9.0'
    Find and replace script
    git grep --name-only \
      -E "tvos\.deployment_target(\s+)=(\s+)'10.0'" -- \
      *.podspec | xargs sed -i '' -E "s/tvos\.deployment_target( +)=( +)'10.0'/tvos\.deployment_target\1=\2'11.0'/g"

Fixes #10100

@ncooke3 ncooke3 requested a review from paulb777 September 19, 2022 20:34
@google-oss-bot

This comment was marked as off-topic.

@google-oss-bot

This comment was marked as off-topic.

@ncooke3
Copy link
Member Author

ncooke3 commented Sep 20, 2022

@paulb777, CI has lots of failures but they look like network issues. Maybe the CocoaPods CDN is down right now...

I will kick off another CI run in an hour or two

@ncooke3 ncooke3 requested a review from paulb777 September 21, 2022 19:50
@ncooke3
Copy link
Member Author

ncooke3 commented Sep 21, 2022

The Auth failure was due to the FBSDK being updated due to raising the min. supported OS versions. This enabled the Auth sample to pull in FBSDK 13+ (opposed to FBSDK 12). And, in FBSDK 13+, there were breaking changes that broke the Auth sample app.

@ncooke3
Copy link
Member Author

ncooke3 commented Sep 21, 2022

@paulb777, CI in ce29315 was green except for the Auth x FBSDK issue.

I think this is good for a review now that CI should be all fixed.

The new commit to fix the FBSDK stuff did unfortunately kick off all CI but hopefully we do not see those 429 errors again 🤞

@ncooke3
Copy link
Member Author

ncooke3 commented Sep 21, 2022

I'm going to merge because all of the tests but one passed in ce29315. And the failing test was resolved with 4ac4677.

@ncooke3 ncooke3 merged commit 6e0fda7 into master Sep 21, 2022
@ncooke3 ncooke3 deleted the nc/firebase-10-versions branch September 21, 2022 20:48
@firebase firebase locked and limited conversation to collaborators Oct 22, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update minimum supported versions across platforms
3 participants