Skip to content

[CP] Set template and migrate apps to iOS 12 minimum #140923

@jmagman

Description

@jmagman

Issue Link

#136060

Target

stable

PR Link

#140921

Changelog Description

Automatically migrate apps to iOS 12 as the minimum deployment version.

Impacted Users

iOS end-customers running Flutter apps using common networking APIs, on apps built with latest Xcode.

Impact Description

Shipping production apps that use common iOS Networking APIs, such as in connectivity_plus, crashes on launch.

Workaround

The developer can increase their minimum iOS deployment version to iOS 12 and re-ship their app.

Risk

medium

Test Coverage

yes

Validation Steps

  1. Created new app in stable branch.
  2. In pubspec.yaml added dependency connectivity_plus: ^4.0.0 (uses the crashing networking API)
  3. Run app on device, confirm crash.
  4. Update Flutter to cherry-pick
  5. Run app on device again. No crash.

Diff of ios directory after running app:

diff --git a/Flutter/AppFrameworkInfo.plist b/Flutter/AppFrameworkInfo.plist
index 9625e10..7c56964 100644
--- a/Flutter/AppFrameworkInfo.plist
+++ b/Flutter/AppFrameworkInfo.plist
@@ -21,6 +21,6 @@
   <key>CFBundleVersion</key>
   <string>1.0</string>
   <key>MinimumOSVersion</key>
-  <string>11.0</string>
+  <string>12.0</string>
 </dict>
 </plist>
diff --git a/Podfile b/Podfile
index fdcc671..d97f17e 100644
--- a/Podfile
+++ b/Podfile
@@ -1,5 +1,5 @@
 # Uncomment this line to define a global platform for your project
-# platform :ios, '11.0'
+# platform :ios, '12.0'
 
 # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
 ENV['COCOAPODS_DISABLE_STATS'] = 'true'
diff --git a/Podfile.lock b/Podfile.lock
index efa975f..a924f50 100644
--- a/Podfile.lock
+++ b/Podfile.lock
@@ -21,9 +21,9 @@ EXTERNAL SOURCES:
 
 SPEC CHECKSUMS:
   connectivity_plus: 07c49e96d7fc92bc9920617b83238c4d178b446a
-  Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
+  Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
   ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
 
-PODFILE CHECKSUM: 70d9d25280d0dd177a5f637cdb0f0b0b12c6a189
+PODFILE CHECKSUM: 819463e6a0290f5a72f145ba7cde16e8b6ef0796
 
 COCOAPODS: 1.14.3
diff --git a/Runner.xcodeproj/project.pbxproj b/Runner.xcodeproj/project.pbxproj
index 690ea20..77d1554 100644
--- a/Runner.xcodeproj/project.pbxproj
+++ b/Runner.xcodeproj/project.pbxproj
@@ -453,7 +453,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				MTL_ENABLE_DEBUG_INFO = NO;
 				SDKROOT = iphoneos;
 				SUPPORTED_PLATFORMS = iphoneos;
@@ -581,7 +581,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				MTL_ENABLE_DEBUG_INFO = YES;
 				ONLY_ACTIVE_ARCH = YES;
 				SDKROOT = iphoneos;
@@ -630,7 +630,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				MTL_ENABLE_DEBUG_INFO = NO;
 				SDKROOT = iphoneos;
 				SUPPORTED_PLATFORMS = iphoneos;

Metadata

Metadata

Assignees

Labels

cp: approvedApproved cherry-pick requestcp: merge-to-stableCherry-picks that should be merged to stablecp: mergedCherry-pick has been merged to the release branch.cp: reviewCherry-picks in the review queue

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions