[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"