From 78a29bf2f92eea0ec0a9dedcc5e56852ab8a6ab0 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Mon, 16 May 2022 15:51:11 -0400 Subject: [PATCH 1/5] Manual roll to pick up min iOS version change --- .ci/flutter_master.version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/flutter_master.version b/.ci/flutter_master.version index 6934eda08a73..7bede728c582 100644 --- a/.ci/flutter_master.version +++ b/.ci/flutter_master.version @@ -1 +1 @@ -2b2cda15293d86d5c27d345505cde25b9efcb153 +036cae36697a6c078fe28ac6088a2a493d0e7958 From 9ab0afef00c43d5ebdb6dacbbcdcf952ab9a7f00 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Mon, 16 May 2022 15:09:16 -0400 Subject: [PATCH 2/5] Fix camera violations --- packages/camera/camera/CHANGELOG.md | 4 ++++ packages/camera/camera/ios/Classes/FLTSavePhotoDelegate.m | 4 ++++ packages/camera/camera/pubspec.yaml | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/camera/camera/CHANGELOG.md b/packages/camera/camera/CHANGELOG.md index 8d713c60c276..d101f60cf041 100644 --- a/packages/camera/camera/CHANGELOG.md +++ b/packages/camera/camera/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.9.5+1 + +* Suppresses warnings for pre-iOS-11 codepaths. + ## 0.9.5 * Adds camera access permission handling logic on iOS to fix a related crash when using the camera for the first time. diff --git a/packages/camera/camera/ios/Classes/FLTSavePhotoDelegate.m b/packages/camera/camera/ios/Classes/FLTSavePhotoDelegate.m index ced3cb5e407f..1df1708c54e8 100644 --- a/packages/camera/camera/ios/Classes/FLTSavePhotoDelegate.m +++ b/packages/camera/camera/ios/Classes/FLTSavePhotoDelegate.m @@ -42,6 +42,9 @@ - (void)handlePhotoCaptureResultWithError:(NSError *)error }); } +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" +#pragma clang diagnostic ignored "-Wdeprecated-implementations" - (void)captureOutput:(AVCapturePhotoOutput *)output didFinishProcessingPhotoSampleBuffer:(CMSampleBufferRef)photoSampleBuffer previewPhotoSampleBuffer:(CMSampleBufferRef)previewPhotoSampleBuffer @@ -56,6 +59,7 @@ - (void)captureOutput:(AVCapturePhotoOutput *)output previewPhotoSampleBuffer]; }]; } +#pragma clang diagnostic pop - (void)captureOutput:(AVCapturePhotoOutput *)output didFinishProcessingPhoto:(AVCapturePhoto *)photo diff --git a/packages/camera/camera/pubspec.yaml b/packages/camera/camera/pubspec.yaml index 59cde43dd66a..14acf32e2324 100644 --- a/packages/camera/camera/pubspec.yaml +++ b/packages/camera/camera/pubspec.yaml @@ -4,7 +4,7 @@ description: A Flutter plugin for controlling the camera. Supports previewing Dart. repository: https://github.com/flutter/plugins/tree/main/packages/camera/camera issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.9.5 +version: 0.9.5+1 environment: sdk: ">=2.14.0 <3.0.0" From 8bedf078f2e9b206a17d4e7fda2429d2219eda45 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Mon, 16 May 2022 15:29:45 -0400 Subject: [PATCH 3/5] Fix image_picker --- packages/image_picker/image_picker_ios/CHANGELOG.md | 4 ++++ .../ios/Classes/FLTImagePickerPhotoAssetUtil.m | 3 +++ packages/image_picker/image_picker_ios/pubspec.yaml | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/image_picker/image_picker_ios/CHANGELOG.md b/packages/image_picker/image_picker_ios/CHANGELOG.md index 96b1c7f0d0a4..98245aa83245 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+3 + +* Suppresses warnings for pre-iOS-11 codepaths. + ## 0.8.5+2 * Minor fixes for new analysis options. diff --git a/packages/image_picker/image_picker_ios/ios/Classes/FLTImagePickerPhotoAssetUtil.m b/packages/image_picker/image_picker_ios/ios/Classes/FLTImagePickerPhotoAssetUtil.m index 4c705fe54350..37a1a9897cd3 100644 --- a/packages/image_picker/image_picker_ios/ios/Classes/FLTImagePickerPhotoAssetUtil.m +++ b/packages/image_picker/image_picker_ios/ios/Classes/FLTImagePickerPhotoAssetUtil.m @@ -14,6 +14,8 @@ + (PHAsset *)getAssetFromImagePickerInfo:(NSDictionary *)info { if (@available(iOS 11, *)) { return [info objectForKey:UIImagePickerControllerPHAsset]; } +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" NSURL *referenceURL = [info objectForKey:UIImagePickerControllerReferenceURL]; if (!referenceURL) { return nil; @@ -21,6 +23,7 @@ + (PHAsset *)getAssetFromImagePickerInfo:(NSDictionary *)info { PHFetchResult *result = [PHAsset fetchAssetsWithALAssetURLs:@[ referenceURL ] options:nil]; return result.firstObject; +#pragma clang diagnostic pop } + (PHAsset *)getAssetFromPHPickerResult:(PHPickerResult *)result API_AVAILABLE(ios(14)) { diff --git a/packages/image_picker/image_picker_ios/pubspec.yaml b/packages/image_picker/image_picker_ios/pubspec.yaml index d1de0a14ea69..edb884a377db 100755 --- a/packages/image_picker/image_picker_ios/pubspec.yaml +++ b/packages/image_picker/image_picker_ios/pubspec.yaml @@ -2,7 +2,7 @@ name: image_picker_ios 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+2 +version: 0.8.5+3 environment: sdk: ">=2.14.0 <3.0.0" From 96d5e9bf0e28d64427e0e7633cbfe5e9a51e8ead Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Mon, 16 May 2022 15:49:53 -0400 Subject: [PATCH 4/5] Fix local_auth --- .../local_auth/local_auth_ios/CHANGELOG.md | 6 ++++- .../ios/Classes/FLTLocalAuthPlugin.m | 27 ++++++++++++++++++- .../local_auth/local_auth_ios/pubspec.yaml | 2 +- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/packages/local_auth/local_auth_ios/CHANGELOG.md b/packages/local_auth/local_auth_ios/CHANGELOG.md index 2237cbe216f0..d44836788ce3 100644 --- a/packages/local_auth/local_auth_ios/CHANGELOG.md +++ b/packages/local_auth/local_auth_ios/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.6 + +* Suppresses warnings for pre-iOS-11 codepaths. + ## 1.0.5 * Removes unnecessary imports. @@ -6,7 +10,7 @@ ## 1.0.4 -* Fixes `deviceSupportsBiometrics` to return true when biometric hardware +* Fixes `deviceSupportsBiometrics` to return true when biometric hardware is available but not enrolled. ## 1.0.3 diff --git a/packages/local_auth/local_auth_ios/ios/Classes/FLTLocalAuthPlugin.m b/packages/local_auth/local_auth_ios/ios/Classes/FLTLocalAuthPlugin.m index eb7f637f7850..8eb6fcbe67b3 100644 --- a/packages/local_auth/local_auth_ios/ios/Classes/FLTLocalAuthPlugin.m +++ b/packages/local_auth/local_auth_ios/ios/Classes/FLTLocalAuthPlugin.m @@ -84,7 +84,14 @@ - (void)alertMessage:(NSString *)message handler:^(UIAlertAction *action) { if (UIApplicationOpenSettingsURLString != NULL) { NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; - [[UIApplication sharedApplication] openURL:url]; + if (@available(iOS 10, *)) { + [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:NULL]; + } else { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + [[UIApplication sharedApplication] openURL:url]; +#pragma clang diagnostic pop + } result(@NO); } }]; @@ -113,9 +120,12 @@ - (void)deviceSupportsBiometrics:(FlutterResult)result { result(@YES); return; } +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" } else if (authError.code == LAErrorTouchIDNotEnrolled) { result(@YES); return; +#pragma clang diagnostic pop } } @@ -205,9 +215,14 @@ - (void)handleAuthReplyWithSuccess:(BOOL)success } else { switch (error.code) { case LAErrorPasscodeNotSet: +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + // TODO(stuartmorgan): Remove the pragma and s/TouchID/Biometry/ in these constants when + // iOS 10 support is dropped. The values are the same, only the names have changed. case LAErrorTouchIDNotAvailable: case LAErrorTouchIDNotEnrolled: case LAErrorTouchIDLockout: +#pragma clang diagnostic pop case LAErrorUserFallback: [self handleErrors:error flutterArguments:arguments withFlutterResult:result]; return; @@ -228,7 +243,12 @@ - (void)handleErrors:(NSError *)authError NSString *errorCode = @"NotAvailable"; switch (authError.code) { case LAErrorPasscodeNotSet: +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + // TODO(stuartmorgan): Remove the pragma and s/TouchID/Biometry/ in this constant when + // iOS 10 support is dropped. The values are the same, only the names have changed. case LAErrorTouchIDNotEnrolled: +#pragma clang diagnostic pop if ([arguments[@"useErrorDialogs"] boolValue]) { [self alertMessage:arguments[@"goToSettingDescriptionIOS"] firstButton:arguments[@"okButton"] @@ -238,7 +258,12 @@ - (void)handleErrors:(NSError *)authError } errorCode = authError.code == LAErrorPasscodeNotSet ? @"PasscodeNotSet" : @"NotEnrolled"; break; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + // TODO(stuartmorgan): Remove the pragma and s/TouchID/Biometry/ in this constant when + // iOS 10 support is dropped. The values are the same, only the names have changed. case LAErrorTouchIDLockout: +#pragma clang diagnostic pop [self alertMessage:arguments[@"lockOut"] firstButton:arguments[@"okButton"] flutterResult:result diff --git a/packages/local_auth/local_auth_ios/pubspec.yaml b/packages/local_auth/local_auth_ios/pubspec.yaml index dded42b673f4..f491dfb49679 100644 --- a/packages/local_auth/local_auth_ios/pubspec.yaml +++ b/packages/local_auth/local_auth_ios/pubspec.yaml @@ -2,7 +2,7 @@ name: local_auth_ios description: iOS implementation of the local_auth plugin. repository: https://github.com/flutter/plugins/tree/master/packages/local_auth/local_auth_ios issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+local_auth%22 -version: 1.0.5 +version: 1.0.6 environment: sdk: ">=2.14.0 <3.0.0" From f5a7e84350a1ce823cb6d66b053d5b71c1c0f611 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Mon, 16 May 2022 16:04:25 -0400 Subject: [PATCH 5/5] Fix formatting --- .../local_auth_ios/ios/Classes/FLTLocalAuthPlugin.m | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/local_auth/local_auth_ios/ios/Classes/FLTLocalAuthPlugin.m b/packages/local_auth/local_auth_ios/ios/Classes/FLTLocalAuthPlugin.m index 8eb6fcbe67b3..8f61fecfd814 100644 --- a/packages/local_auth/local_auth_ios/ios/Classes/FLTLocalAuthPlugin.m +++ b/packages/local_auth/local_auth_ios/ios/Classes/FLTLocalAuthPlugin.m @@ -85,7 +85,9 @@ - (void)alertMessage:(NSString *)message if (UIApplicationOpenSettingsURLString != NULL) { NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; if (@available(iOS 10, *)) { - [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:NULL]; + [[UIApplication sharedApplication] openURL:url + options:@{} + completionHandler:NULL]; } else { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations"