[ci] Updates iOS deprecation check to iOS 13 (#5786)

diff --git a/.cirrus.yml b/.cirrus.yml
index 69fd895..2b8fde8 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -336,9 +336,7 @@
         - ./script/tool_runner.sh xcode-analyze --ios
       xcode_analyze_deprecation_script:
         # Ensure we don't accidentally introduce deprecated code.
-        # TODO(stuartmorgan): Update this to a newer version of iOS to get
-        # ahead of upcoming deprecations.
-        - ./script/tool_runner.sh xcode-analyze --ios --ios-min-version=11.0
+        - ./script/tool_runner.sh xcode-analyze --ios --ios-min-version=13.0
       native_test_script:
         - ./script/tool_runner.sh native-test --ios --ios-destination "platform=iOS Simulator,name=iPhone 11,OS=latest"
       drive_script:
diff --git a/packages/google_sign_in/google_sign_in_ios/CHANGELOG.md b/packages/google_sign_in/google_sign_in_ios/CHANGELOG.md
index e5de49d..c17f141 100644
--- a/packages/google_sign_in/google_sign_in_ios/CHANGELOG.md
+++ b/packages/google_sign_in/google_sign_in_ios/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 5.3.1
+
+* Suppresses warnings for pre-iOS-13 codepaths.
+
 ## 5.3.0
 
 * Supports arm64 iOS simulators by increasing GoogleSignIn dependency to version 6.2.
diff --git a/packages/google_sign_in/google_sign_in_ios/example/ios/Podfile b/packages/google_sign_in/google_sign_in_ios/example/ios/Podfile
index 6c315d2..b95dfa7 100644
--- a/packages/google_sign_in/google_sign_in_ios/example/ios/Podfile
+++ b/packages/google_sign_in/google_sign_in_ios/example/ios/Podfile
@@ -27,6 +27,7 @@
 
 # Suppress warnings from transitive dependencies that cause analysis to fail.
 pod 'AppAuth', :inhibit_warnings => true
+pod 'GTMAppAuth', :inhibit_warnings => true
 
 flutter_ios_podfile_setup
 
diff --git a/packages/google_sign_in/google_sign_in_ios/ios/Classes/FLTGoogleSignInPlugin.m b/packages/google_sign_in/google_sign_in_ios/ios/Classes/FLTGoogleSignInPlugin.m
index 55d09bd..608cdc2 100644
--- a/packages/google_sign_in/google_sign_in_ios/ios/Classes/FLTGoogleSignInPlugin.m
+++ b/packages/google_sign_in/google_sign_in_ios/ios/Classes/FLTGoogleSignInPlugin.m
@@ -252,8 +252,13 @@
 }
 
 - (UIViewController *)topViewController {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+  // TODO(stuartmorgan) Provide a non-deprecated codepath. See
+  // https://github.com/flutter/flutter/issues/104117
   return [self topViewControllerFromViewController:[UIApplication sharedApplication]
                                                        .keyWindow.rootViewController];
+#pragma clang diagnostic pop
 }
 
 /**
diff --git a/packages/google_sign_in/google_sign_in_ios/pubspec.yaml b/packages/google_sign_in/google_sign_in_ios/pubspec.yaml
index 5604ee6..13f045b 100644
--- a/packages/google_sign_in/google_sign_in_ios/pubspec.yaml
+++ b/packages/google_sign_in/google_sign_in_ios/pubspec.yaml
@@ -2,7 +2,7 @@
 description: iOS implementation of the google_sign_in plugin.
 repository: https://github.com/flutter/plugins/tree/main/packages/google_sign_in/google_sign_in_ios
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+google_sign_in%22
-version: 5.3.0
+version: 5.3.1
 
 environment:
   sdk: ">=2.14.0 <3.0.0"
diff --git a/packages/image_picker/image_picker_ios/CHANGELOG.md b/packages/image_picker/image_picker_ios/CHANGELOG.md
index e994fcc..86ee7d0 100644
--- a/packages/image_picker/image_picker_ios/CHANGELOG.md
+++ b/packages/image_picker/image_picker_ios/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.8.5+5
+
+* Adds non-deprecated codepaths for iOS 13+.
+
 ## 0.8.5+4
 
 * Suppresses warnings for pre-iOS-11 codepaths.
diff --git a/packages/image_picker/image_picker_ios/ios/Classes/FLTImagePickerPlugin.m b/packages/image_picker/image_picker_ios/ios/Classes/FLTImagePickerPlugin.m
index 76ed962..18d4ad2 100644
--- a/packages/image_picker/image_picker_ios/ios/Classes/FLTImagePickerPlugin.m
+++ b/packages/image_picker/image_picker_ios/ios/Classes/FLTImagePickerPlugin.m
@@ -567,18 +567,38 @@
       // Image picked without an original asset (e.g. User took a photo directly)
       [self saveImageWithPickerInfo:info image:image imageQuality:desiredImageQuality];
     } else {
-      [[PHImageManager defaultManager]
-          requestImageDataForAsset:originalAsset
-                           options:nil
-                     resultHandler:^(NSData *_Nullable imageData, NSString *_Nullable dataUTI,
-                                     UIImageOrientation orientation, NSDictionary *_Nullable info) {
-                       // maxWidth and maxHeight are used only for GIF images.
-                       [self saveImageWithOriginalImageData:imageData
-                                                      image:image
-                                                   maxWidth:maxWidth
-                                                  maxHeight:maxHeight
-                                               imageQuality:desiredImageQuality];
-                     }];
+      void (^resultHandler)(NSData *imageData, NSString *dataUTI, NSDictionary *info) = ^(
+          NSData *_Nullable imageData, NSString *_Nullable dataUTI, NSDictionary *_Nullable info) {
+        // maxWidth and maxHeight are used only for GIF images.
+        [self saveImageWithOriginalImageData:imageData
+                                       image:image
+                                    maxWidth:maxWidth
+                                   maxHeight:maxHeight
+                                imageQuality:desiredImageQuality];
+      };
+      if (@available(iOS 13.0, *)) {
+        [[PHImageManager defaultManager]
+            requestImageDataAndOrientationForAsset:originalAsset
+                                           options:nil
+                                     resultHandler:^(NSData *_Nullable imageData,
+                                                     NSString *_Nullable dataUTI,
+                                                     CGImagePropertyOrientation orientation,
+                                                     NSDictionary *_Nullable info) {
+                                       resultHandler(imageData, dataUTI, info);
+                                     }];
+      } else {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+        [[PHImageManager defaultManager]
+            requestImageDataForAsset:originalAsset
+                             options:nil
+                       resultHandler:^(NSData *_Nullable imageData, NSString *_Nullable dataUTI,
+                                       UIImageOrientation orientation,
+                                       NSDictionary *_Nullable info) {
+                         resultHandler(imageData, dataUTI, info);
+                       }];
+#pragma clang diagnostic pop
+      }
     }
   }
 }
diff --git a/packages/image_picker/image_picker_ios/ios/Classes/FLTPHPickerSaveImageToPathOperation.m b/packages/image_picker/image_picker_ios/ios/Classes/FLTPHPickerSaveImageToPathOperation.m
index 9e7e7e8..a81c95f 100644
--- a/packages/image_picker/image_picker_ios/ios/Classes/FLTPHPickerSaveImageToPathOperation.m
+++ b/packages/image_picker/image_picker_ios/ios/Classes/FLTPHPickerSaveImageToPathOperation.m
@@ -122,20 +122,39 @@
                                   isMetadataAvailable:originalAsset != nil];
   }
   if (originalAsset) {
-    [[PHImageManager defaultManager]
-        requestImageDataForAsset:originalAsset
-                         options:nil
-                   resultHandler:^(NSData *_Nullable imageData, NSString *_Nullable dataUTI,
-                                   UIImageOrientation orientation, NSDictionary *_Nullable info) {
-                     // maxWidth and maxHeight are used only for GIF images.
-                     NSString *savedPath = [FLTImagePickerPhotoAssetUtil
-                         saveImageWithOriginalImageData:imageData
-                                                  image:localImage
-                                               maxWidth:self.maxWidth
-                                              maxHeight:self.maxHeight
-                                           imageQuality:self.desiredImageQuality];
-                     [self completeOperationWithPath:savedPath];
-                   }];
+    void (^resultHandler)(NSData *imageData, NSString *dataUTI, NSDictionary *info) =
+        ^(NSData *_Nullable imageData, NSString *_Nullable dataUTI, NSDictionary *_Nullable info) {
+          // maxWidth and maxHeight are used only for GIF images.
+          NSString *savedPath = [FLTImagePickerPhotoAssetUtil
+              saveImageWithOriginalImageData:imageData
+                                       image:localImage
+                                    maxWidth:self.maxWidth
+                                   maxHeight:self.maxHeight
+                                imageQuality:self.desiredImageQuality];
+          [self completeOperationWithPath:savedPath];
+        };
+    if (@available(iOS 13.0, *)) {
+      [[PHImageManager defaultManager]
+          requestImageDataAndOrientationForAsset:originalAsset
+                                         options:nil
+                                   resultHandler:^(NSData *_Nullable imageData,
+                                                   NSString *_Nullable dataUTI,
+                                                   CGImagePropertyOrientation orientation,
+                                                   NSDictionary *_Nullable info) {
+                                     resultHandler(imageData, dataUTI, info);
+                                   }];
+    } else {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+      [[PHImageManager defaultManager]
+          requestImageDataForAsset:originalAsset
+                           options:nil
+                     resultHandler:^(NSData *_Nullable imageData, NSString *_Nullable dataUTI,
+                                     UIImageOrientation orientation, NSDictionary *_Nullable info) {
+                       resultHandler(imageData, dataUTI, info);
+                     }];
+#pragma clang diagnostic pop
+    }
   } else {
     // Image picked without an original asset (e.g. User pick image without permission)
     NSString *savedPath =
diff --git a/packages/image_picker/image_picker_ios/pubspec.yaml b/packages/image_picker/image_picker_ios/pubspec.yaml
index 88f4d33..e1bccad 100755
--- a/packages/image_picker/image_picker_ios/pubspec.yaml
+++ b/packages/image_picker/image_picker_ios/pubspec.yaml
@@ -2,7 +2,7 @@
 description: iOS implementation of the video_picker plugin.
 repository: https://github.com/flutter/plugins/tree/main/packages/image_picker/image_picker_ios
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+image_picker%22
-version: 0.8.5+4
+version: 0.8.5+5
 
 environment:
   sdk: ">=2.14.0 <3.0.0"
diff --git a/packages/url_launcher/url_launcher_ios/CHANGELOG.md b/packages/url_launcher/url_launcher_ios/CHANGELOG.md
index 5f6dd37..5fc00bf 100644
--- a/packages/url_launcher/url_launcher_ios/CHANGELOG.md
+++ b/packages/url_launcher/url_launcher_ios/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 6.0.17
+
+* Suppresses warnings for pre-iOS-13 codepaths.
+
 ## 6.0.16
 
 * Fixes library_private_types_in_public_api, sort_child_properties_last and use_key_in_widget_constructors
diff --git a/packages/url_launcher/url_launcher_ios/ios/Classes/FLTURLLauncherPlugin.m b/packages/url_launcher/url_launcher_ios/ios/Classes/FLTURLLauncherPlugin.m
index 1aceedc..af720c8 100644
--- a/packages/url_launcher/url_launcher_ios/ios/Classes/FLTURLLauncherPlugin.m
+++ b/packages/url_launcher/url_launcher_ios/ios/Classes/FLTURLLauncherPlugin.m
@@ -136,8 +136,13 @@
 }
 
 - (UIViewController *)topViewController {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+  // TODO(stuartmorgan) Provide a non-deprecated codepath. See
+  // https://github.com/flutter/flutter/issues/104117
   return [self topViewControllerFromViewController:[UIApplication sharedApplication]
                                                        .keyWindow.rootViewController];
+#pragma clang diagnostic pop
 }
 
 /**
diff --git a/packages/url_launcher/url_launcher_ios/pubspec.yaml b/packages/url_launcher/url_launcher_ios/pubspec.yaml
index 0b21bad..9bb1616 100644
--- a/packages/url_launcher/url_launcher_ios/pubspec.yaml
+++ b/packages/url_launcher/url_launcher_ios/pubspec.yaml
@@ -2,7 +2,7 @@
 description: iOS implementation of the url_launcher plugin.
 repository: https://github.com/flutter/plugins/tree/main/packages/url_launcher/url_launcher_ios
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+url_launcher%22
-version: 6.0.16
+version: 6.0.17
 
 environment:
   sdk: ">=2.14.0 <3.0.0"