From 16a0ceb914011e57843339789fcdd0bea682fb8c Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Thu, 24 Jun 2021 15:00:04 -0400 Subject: [PATCH] [webview_flutter] Suppress iOS 9 deprecation warnings On master the project is auto-updated to iOS 9, causing CI failures on this deprecation warning (due to -Werrror), but still needs to support iOS 8 for current stable. --- packages/webview_flutter/CHANGELOG.md | 3 ++- packages/webview_flutter/ios/Classes/FlutterWebView.m | 10 ++++++++++ packages/webview_flutter/pubspec.yaml | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/webview_flutter/CHANGELOG.md b/packages/webview_flutter/CHANGELOG.md index 9167f9240044..f43812d438f8 100644 --- a/packages/webview_flutter/CHANGELOG.md +++ b/packages/webview_flutter/CHANGELOG.md @@ -1,6 +1,7 @@ -## NEXT +## 2.0.9 * Add iOS UI integration test target. +* Suppress deprecation warning for iOS APIs deprecated in iOS 9. ## 2.0.8 diff --git a/packages/webview_flutter/ios/Classes/FlutterWebView.m b/packages/webview_flutter/ios/Classes/FlutterWebView.m index b6f0b268ab02..c6d926d3cfc2 100644 --- a/packages/webview_flutter/ios/Classes/FlutterWebView.m +++ b/packages/webview_flutter/ios/Classes/FlutterWebView.m @@ -391,15 +391,25 @@ - (void)updateAutoMediaPlaybackPolicy:(NSNumber*)policy case 0: // require_user_action_for_all_media_types if (@available(iOS 10.0, *)) { configuration.mediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypeAll; + } else if (@available(iOS 9.0, *)) { + configuration.requiresUserActionForMediaPlayback = true; } else { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" configuration.mediaPlaybackRequiresUserAction = true; +#pragma clang diagnostic pop } break; case 1: // always_allow if (@available(iOS 10.0, *)) { configuration.mediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypeNone; + } else if (@available(iOS 9.0, *)) { + configuration.requiresUserActionForMediaPlayback = false; } else { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" configuration.mediaPlaybackRequiresUserAction = false; +#pragma clang diagnostic pop } break; default: diff --git a/packages/webview_flutter/pubspec.yaml b/packages/webview_flutter/pubspec.yaml index c062118b1d14..6acee01924a6 100644 --- a/packages/webview_flutter/pubspec.yaml +++ b/packages/webview_flutter/pubspec.yaml @@ -2,7 +2,7 @@ name: webview_flutter description: A Flutter plugin that provides a WebView widget on Android and iOS. repository: https://github.com/flutter/plugins/tree/master/packages/webview_flutter issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+webview%22 -version: 2.0.8 +version: 2.0.9 environment: sdk: ">=2.12.0 <3.0.0"