Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Migrate iOS app deployment target from 8.0 to 9.0 #85174

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

Merged
merged 2 commits into from
Jun 24, 2021

Conversation

jmagman
Copy link
Member

@jmagman jmagman commented Jun 24, 2021

Migrate the existing app's Xcode project minimum iOS version from 8.0 to 9.0. Don't change the version if it's anything other than 8.0.
Compile App.framework for 9.0 (see #68729 for when I had to revert a previous version of this change since the Xcode projects weren't also being migrated at the same time).

Update IPHONEOS_DEPLOYMENT_TARGET, App.framework/Info.plist MinimumOSVersion value, -miphoneos-version-min, and -miphonesimulator-version-min.

Run flutter build ios on all the examples, integration tests, etc. to validate the versions were changed. No longer see The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 15.0.99. warnings everywhere.

Added a few tests to validate App.framework/Info.plist is embedded in the right place in the app.

Note: this does not migrate any plugin project minimum versions, other than the example app.

Template changed in #62902
See also #68729
Fixes #85173

@jmagman jmagman added platform-ios iOS applications specifically tool Affects the "flutter" command-line tool. See also t: labels. t: xcode "xcodebuild" on iOS and general Xcode project management labels Jun 24, 2021
@jmagman jmagman self-assigned this Jun 24, 2021
@flutter-dashboard flutter-dashboard bot added the c: contributor-productivity Team-specific productivity, code health, technical debt. label Jun 24, 2021
@google-cla google-cla bot added the cla: yes label Jun 24, 2021
@jmagman jmagman force-pushed the upgrade-xcode-version branch from 3314040 to b5ee538 Compare June 24, 2021 00:41
@jmagman jmagman requested review from stuartmorgan-g and jonahwilliams and removed request for stuartmorgan-g and jonahwilliams June 24, 2021 01:05
@jmagman
Copy link
Member Author

jmagman commented Jun 24, 2021

Hold off on reviewing please, I forgot about migrating the AppFrameworkInfo.plist MinimumOSVersion value.

@flutter-dashboard flutter-dashboard bot added the d: examples Sample code and demos label Jun 24, 2021
@jmagman
Copy link
Member Author

jmagman commented Jun 24, 2021

Hold off on reviewing please, I forgot about migrating the AppFrameworkInfo.plist MinimumOSVersion value.

Updated, ready to review.

@stuartmorgan-g
Copy link
Contributor

@0xf10yd Please read https://github.com/flutter/flutter/wiki/Tree-hygiene#getting-a-code-review

In particular:

approvals in the GitHub UI should be reserved for those with contributor access

Copy link
Contributor

@stuartmorgan-g stuartmorgan-g left a comment

Choose a reason for hiding this comment

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

LGTM

auto-submit bot pushed a commit that referenced this pull request Jan 2, 2024
1. Change templates to `IPHONEOS_DEPLOYMENT_TARGET`, `MinimumOSVersion`, and Podfile `platform :ios` to 12.0.
2. Add migrator for Podfile part to migrate `platform :ios, '11.0'` -> `platform :ios, '12.0'`
3. Compile with `-miphoneos-version-min=12.0`
4. Run the migrator on all example apps and integration tests.

See also #62902 and #85174 and #101963

Fixes #136060
auto-submit bot added a commit that referenced this pull request Jan 2, 2024
Reverts #140478
Initiated by: loic-sharma
This change reverts the following previous change:
Original Description:
1. Change templates to `IPHONEOS_DEPLOYMENT_TARGET`, `MinimumOSVersion`, and Podfile `platform :ios` to 12.0.
2. Add migrator for Podfile part to migrate `platform :ios, '11.0'` -> `platform :ios, '12.0'`
3. Compile with `-miphoneos-version-min=12.0`
4. Run the migrator on all example apps and integration tests.

See also #62902 and #85174 and #101963

Fixes #136060
auto-submit bot pushed a commit that referenced this pull request Jan 3, 2024
Reland #140478 with `ios_content_validation_test` test fix.
```
[ios_content_validation_test] Process terminated with exit code 0.
Task result:
{
  "success": true,
  "data": null,
  "detailFiles": [],
  "benchmarkScoreKeys": [],
  "reason": "success"
}

```

__________

1. Change templates to `IPHONEOS_DEPLOYMENT_TARGET`, `MinimumOSVersion`, and Podfile `platform :ios` to 12.0.
2. Add migrator for Podfile part to migrate `platform :ios, '11.0'` -> `platform :ios, '12.0'`
3. Compile with `-miphoneos-version-min=12.0`
4. Run the migrator on all example apps and integration tests.

See also #62902 and #85174 and #101963

Fixes #136060
jmagman added a commit to jmagman/flutter that referenced this pull request Jan 3, 2024
Reland flutter#140478 with `ios_content_validation_test` test fix.
```
[ios_content_validation_test] Process terminated with exit code 0.
Task result:
{
  "success": true,
  "data": null,
  "detailFiles": [],
  "benchmarkScoreKeys": [],
  "reason": "success"
}

```

__________

1. Change templates to `IPHONEOS_DEPLOYMENT_TARGET`, `MinimumOSVersion`, and Podfile `platform :ios` to 12.0.
2. Add migrator for Podfile part to migrate `platform :ios, '11.0'` -> `platform :ios, '12.0'`
3. Compile with `-miphoneos-version-min=12.0`
4. Run the migrator on all example apps and integration tests.

See also flutter#62902 and flutter#85174 and flutter#101963

Fixes flutter#136060
cbracken added a commit to cbracken/flutter that referenced this pull request Apr 24, 2025
1. Change templates to `IPHONEOS_DEPLOYMENT_TARGET`, `MinimumOSVersion`, and Podfile `platform :ios` to 12.0.
2. Add migrator for Podfile part to migrate `platform :ios, '11.0'` -> `platform :ios, '12.0'`
3. Compile with `-miphoneos-version-min=12.0`
4. Run the migrator on all example apps and integration tests.

See also:
* flutter#62902
* flutter#85174
* flutter#101963
* flutter#140478

Issue:
cbracken added a commit to cbracken/flutter that referenced this pull request Apr 24, 2025
1. Change templates to `IPHONEOS_DEPLOYMENT_TARGET`, `MinimumOSVersion`, and Podfile `platform :ios` to 12.0.
2. Add migrator for Podfile part to migrate `platform :ios, '11.0'` -> `platform :ios, '12.0'`
3. Compile with `-miphoneos-version-min=12.0`
4. Run the migrator on all example apps and integration tests.

See also:
* flutter#62902
* flutter#85174
* flutter#101963
* flutter#140478

Issue:
cbracken added a commit to cbracken/flutter that referenced this pull request Apr 24, 2025
1. Change templates to `IPHONEOS_DEPLOYMENT_TARGET`, `MinimumOSVersion`, and Podfile `platform :ios` to 12.0.
2. Add migrator for Podfile part to migrate `platform :ios, '11.0'` -> `platform :ios, '12.0'`
3. Compile with `-miphoneos-version-min=12.0`
4. Run the migrator on all example apps and integration tests.

See also:
* flutter#62902
* flutter#85174
* flutter#101963
* flutter#140478

Issue:
cbracken added a commit to cbracken/flutter that referenced this pull request Apr 24, 2025
1. Change templates to `IPHONEOS_DEPLOYMENT_TARGET`, `MinimumOSVersion`, and Podfile `platform :ios` to 12.0.
2. Add migrator for Podfile part to migrate `platform :ios, '11.0'` -> `platform :ios, '12.0'`
3. Compile with `-miphoneos-version-min=12.0`
4. Run the migrator on all example apps and integration tests.

See also:
* flutter#62902
* flutter#85174
* flutter#101963
* flutter#140478

Issue:
cbracken added a commit to cbracken/flutter that referenced this pull request Apr 24, 2025
1. Change templates to `IPHONEOS_DEPLOYMENT_TARGET`, `MinimumOSVersion`, and Podfile `platform :ios` to 12.0.
2. Add migrator for Podfile part to migrate `platform :ios, '11.0'` -> `platform :ios, '12.0'`
3. Compile with `-miphoneos-version-min=12.0`
4. Run the migrator on all example apps and integration tests.

See also:
* flutter#62902
* flutter#85174
* flutter#101963
* flutter#140478

Issue:
cbracken added a commit to cbracken/flutter that referenced this pull request Apr 24, 2025
1. Change templates to `IPHONEOS_DEPLOYMENT_TARGET`, `MinimumOSVersion`, and Podfile `platform :ios` to 12.0.
2. Add migrator for Podfile part to migrate `platform :ios, '11.0'` -> `platform :ios, '12.0'`
3. Compile with `-miphoneos-version-min=12.0`
4. Run the migrator on all example apps and integration tests.

See also:
* flutter#62902
* flutter#85174
* flutter#101963
* flutter#140478

Issue:
cbracken added a commit to cbracken/flutter that referenced this pull request Apr 24, 2025
1. Change templates to `IPHONEOS_DEPLOYMENT_TARGET`, `MinimumOSVersion`, and Podfile `platform :ios` to 12.0.
2. Add migrator for Podfile part to migrate `platform :ios, '11.0'` -> `platform :ios, '12.0'`
3. Compile with `-miphoneos-version-min=12.0`
4. Run the migrator on all example apps and integration tests.

See also:
* flutter#62902
* flutter#85174
* flutter#101963
* flutter#140478

Issue:
cbracken added a commit to cbracken/flutter that referenced this pull request Apr 24, 2025
1. Update ios_deployment_target from 12.0 to 13.0.
2. Change templates to `IPHONEOS_DEPLOYMENT_TARGET`, `MinimumOSVersion`, and Podfile `platform :ios` to 12.0.
3. Add migrator for Podfile part to migrate `platform :ios, '11.0'` -> `platform :ios, '12.0'`
4. Compile with `-miphoneos-version-min=12.0`
5. Run the migrator on all example apps and integration tests.

See also (ios_deployment_target):
* flutter/buildroot#808
* flutter/buildroot#574

See also (template, migrator):
* flutter#62902
* flutter#85174
* flutter#101963
* flutter#140478

Issue: flutter#167735
github-merge-queue bot pushed a commit that referenced this pull request Apr 24, 2025
This updates the Flutter minimum iOS version from 12.0 to 13.0, adds a
migrator for existing apps, and updates our own examples, tests, and
benchmark apps to 13.0. A follow-up patch will drop iOS 13 `@available`
checks in the embedder.

This is required in order to use Swift in the embedder and not need to
bundle the Swift runtime libs in every app that uses Flutter. Swift
stable ABI

As of March 2025, usage of iOS is well below 1%, see example public
usage data here:
https://telemetrydeck.com/survey/apple/iOS/majorSystemVersions/

This patch makes the following changes:
1. Updates ios_deployment_target from 12.0 to 13.0.
2. Changes templates to `IPHONEOS_DEPLOYMENT_TARGET`,
`MinimumOSVersion`, and Podfile `platform :ios` to 12.0.
3. Adds migrator for Podfile part to migrate `platform :ios, '11.0'` ->
`platform :ios, '12.0'`
4. Compiles with `-miphoneos-version-min=12.0`
5. Runs the migrator on all example apps and integration tests.
6. Updates examples, tests to iOS 13 deployment target

It also updates `verify_exported.dart`:
* iOS 13 introduces stricter separation of const and non-const global
symbols. Previously, these were declared in the Mach-O `__DATA` section
which may be mapped read-write, but now they're in a dedicated
`__DATA_CONST` section which is mapped read-only. This adds
`(__DATA_CONST,__const)` to the allowlist with the same enforcement on
exported symbol naming as before.

See also (ios_deployment_target):
* flutter/buildroot#808
* flutter/buildroot#574

See also (template, migrator):
* #62902
* #85174
* #101963
* #140478

Issue: #167735

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c: contributor-productivity Team-specific productivity, code health, technical debt. d: examples Sample code and demos platform-ios iOS applications specifically t: xcode "xcodebuild" on iOS and general Xcode project management tool Affects the "flutter" command-line tool. See also t: labels.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Migrate existing apps with minimum supported iOS version from 8.0 to 9.0
4 participants