From 86e48b2140e791533ed1b2de6139c7937782a4ef Mon Sep 17 00:00:00 2001 From: Christos Botsikas Date: Tue, 6 Oct 2020 11:19:56 -0700 Subject: [PATCH] Fix network plugin for ios14+ (#1543) Summary: Changelog: [iOS][Network] Network plugin now supports iOS 14 Network plugin stopped working for iOS 14 as reported in https://github.com/facebook/flipper/issues/1534. The fix is based on the origin Flex network observer, as seen in https://github.com/FLEXTool/FLEX/pull/451 - NetworkPlugin supports iOS 14+ Pull Request resolved: https://github.com/facebook/flipper/pull/1543 Test Plan: Verified manually that before this fix the network plugin broken on iOS 14, and after it, it initializes correctly. Reviewed By: passy Differential Revision: D24136401 Pulled By: mweststrate fbshipit-source-id: 87e0e0fa4bc927d082387d937390b1e728125753 --- .../SKIOSNetworkPlugin/FLEXNetworkLib/FLEXNetworkObserver.mm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/FLEXNetworkLib/FLEXNetworkObserver.mm b/iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/FLEXNetworkLib/FLEXNetworkObserver.mm index 77c6cdc5b..3b77adbd2 100755 --- a/iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/FLEXNetworkLib/FLEXNetworkObserver.mm +++ b/iOS/Plugins/FlipperKitNetworkPlugin/SKIOSNetworkPlugin/FLEXNetworkLib/FLEXNetworkObserver.mm @@ -318,6 +318,7 @@ typedef void (^NSURLSessionAsyncCompletion)( // In iOS 7 resume lives in __NSCFLocalSessionTask // In iOS 8 resume lives in NSURLSessionTask // In iOS 9 resume lives in __NSCFURLSessionTask + // In iOS 14 resume lives in NSURLSessionTask Class className = Nil; if (![[NSProcessInfo processInfo] respondsToSelector:@selector(operatingSystemVersion)]) { @@ -325,7 +326,8 @@ typedef void (^NSURLSessionAsyncCompletion)( NSClassFromString([@[ @"__", @"NSC", @"FLocalS", @"ession", @"Task" ] componentsJoinedByString:@""]); } else if ( - [[NSProcessInfo processInfo] operatingSystemVersion].majorVersion < 9) { + [[NSProcessInfo processInfo] operatingSystemVersion].majorVersion < 9 || + [[NSProcessInfo processInfo] operatingSystemVersion].majorVersion >= 14) { className = [NSURLSessionTask class]; } else { className =