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

Skip to content

Change minimum iOS version from 8.0 to 9.0 #62902

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
Aug 6, 2020

Conversation

jmagman
Copy link
Member

@jmagman jmagman commented Aug 4, 2020

Description

Update create app and module templates to iOS minimum version 9.0.
Updated example projects manually. Will hold off on integration tests until know know if we can do it automatically with #62880

This does not update the plugin template podspec minimum version. To be discussed separately.

Related Issues

Fixes #60035

Tests

Updated -miphoneos-version-min calls.
App creation and example build integration tests cover part of this.

Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I signed the [CLA].
  • I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I updated/added relevant documentation (doc comments with ///).
  • All existing and new tests are passing.
  • The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
  • I am willing to follow-up on review comments in a timely manner.

Breaking Change

  • No, no existing tests failed, so this is not a breaking change.
  • Yes, this is a breaking change. If not, delete the remainder of this section.

@flutter-dashboard flutter-dashboard bot added d: examples Sample code and demos c: contributor-productivity Team-specific productivity, code health, technical debt. tool Affects the "flutter" command-line tool. See also t: labels. work in progress; do not review labels Aug 4, 2020
@jmagman jmagman self-assigned this Aug 4, 2020
@@ -16,7 +16,7 @@ Pod::Spec.new do |s|
s.source_files = 'Classes/**/*'
s.public_header_files = 'Classes/**/*.h'
s.dependency 'Flutter'
s.platform = :ios, '8.0'
s.platform = :ios, '9.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.

Note these newly created plugins will not be able to be used by Flutter apps with a minimum of 8.0 (compilation time error), so that's all apps currently in the wild now.

I really wish there wasn't an error for this, or at least I wish it was suppressible.

I'm willing to be convinced we shouldn't increase the plugin minimum requirement for a few stable cycles until more apps have upgraded to 9.0...

Copy link
Contributor

Choose a reason for hiding this comment

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

so you're saying an app can't use a plugin with a higher minimum ios version?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes. I'm going to revert the plugin min version bump, it seems like we need to talk about that separately.

Copy link
Contributor

Choose a reason for hiding this comment

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

SGTM

@jmagman jmagman marked this pull request as ready for review August 5, 2020 01:11
@@ -891,7 +891,7 @@ Future<void> _writeIOSPluginRegistrant(FlutterProject project, List<Plugin> plug
final List<Map<String, dynamic>> iosPlugins = _extractPlatformMaps(plugins, IOSPlugin.kConfigKey);
final Map<String, dynamic> context = <String, dynamic>{
'os': 'ios',
'deploymentTarget': '8.0',
'deploymentTarget': '9.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.

This is not used for published plugins, it's generated for app and modules that need to import plugins.

Copy link
Contributor

@christopherfujino christopherfujino left a comment

Choose a reason for hiding this comment

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

LGTM

@xster
Copy link
Member

xster commented Aug 5, 2020

This means we're intentionally not changing ios_workflow in this PR?

@jmagman
Copy link
Member Author

jmagman commented Aug 5, 2020

This means we're intentionally not changing ios_workflow in this PR?

This PR is to prevent the "IPHONEOS_DEPLOYMENT_TARGET too low" warning that happens when you target 8.0 in Xcode 14.

Are you think of #62883 maybe?

@xster
Copy link
Member

xster commented Aug 6, 2020

Yes, my comment makes no sense :D
Please disregard. LGTM

@PiN73
Copy link

PiN73 commented Oct 20, 2020

As it breaks building of existing apps for iOS (see issue), there should be a notice in breaking changes page saying to modify ios project, shouldn't it?

@PiN73
Copy link

PiN73 commented Oct 20, 2020

Also if I understood correctly, Flutter now supports iOS 9.0 and later, not 8.0 as before, this should be fixed at Build and release an iOS app page

@jmagman
Copy link
Member Author

jmagman commented Oct 21, 2020

@PiN73 Flutter supports iOS 8, but the default for a new app is now iOS 9 to avoid Xcode 12 warnings.

@jmagman jmagman restored the ios-9 branch October 21, 2020 17:55
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 tool Affects the "flutter" command-line tool. See also t: labels.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Increase app template minimum supported iOS version from 8.0 to 9.0
6 participants