From 8a97e55da32f370c8787b999e44aca16065440d4 Mon Sep 17 00:00:00 2001 From: "auto-submit[bot]" <98614782+auto-submit[bot]@users.noreply.github.com> Date: Wed, 27 Sep 2023 17:57:18 +0000 Subject: [PATCH] Reverts "[ios] Fix app extension not able to find assets from unloaded bundle" (flutter/engine#46328) Reverts flutter/engine#46283 Initiated by: CaseyHillers This change reverts the following previous change: Directly use "flutter_assets" as the default path to find the asset path, this works for app extension when the bundle is unloaded. This PR also adds integration tests for app extensions, which also tests the asset path. Fixes https://github.com/flutter/flutter/issues/124292 [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style --- .../framework/Source/FlutterNSBundleUtils.mm | 21 +- .../Source/FlutterDartProjectTest.mm | 6 +- .../project.pbxproj | 372 ------------------ .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../FlutterAppExtensionTestHost/AppDelegate.h | 9 - .../FlutterAppExtensionTestHost/AppDelegate.m | 38 -- .../AccentColor.colorset/Contents.json | 11 - .../AppIcon.appiconset/Contents.json | 13 - .../Assets.xcassets/Contents.json | 6 - .../Base.lproj/LaunchScreen.storyboard | 25 -- .../Base.lproj/Main.storyboard | 24 -- .../FlutterAppExtensionTestHost/Info.plist | 25 -- .../SceneDelegate.h | 11 - .../SceneDelegate.m | 52 --- .../ViewController.h | 9 - .../ViewController.m | 33 -- .../FlutterAppExtensionTestHost/main.m | 15 - .../Scenarios/Info_Impeller.plist | 29 -- .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/WorkspaceSettings.xcsettings | 5 - .../Scenarios.xcodeproj/project.pbxproj | 253 +----------- .../Base.lproj/MainInterface.storyboard | 24 -- .../ios/Scenarios/ScenariosShare/Info.plist | 18 - .../ScenariosShare/ShareViewController.h | 10 - .../ScenariosShare/ShareViewController.m | 31 -- .../ScenariosUITests/AppExtensionTests.m | 58 --- .../ScenariosUITests/GoldenTestManager.m | 1 - .../src/darwin_app_extension_scenario.dart | 44 --- .../scenario_app/lib/src/scenarios.dart | 2 - .../testing/scenario_app/run_ios_tests.sh | 4 +- 32 files changed, 16 insertions(+), 1163 deletions(-) delete mode 100644 engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost.xcodeproj/project.pbxproj delete mode 100644 engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/AppDelegate.h delete mode 100644 engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/AppDelegate.m delete mode 100644 engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Assets.xcassets/AccentColor.colorset/Contents.json delete mode 100644 engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Assets.xcassets/Contents.json delete mode 100644 engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Base.lproj/LaunchScreen.storyboard delete mode 100644 engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Base.lproj/Main.storyboard delete mode 100644 engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Info.plist delete mode 100644 engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/SceneDelegate.h delete mode 100644 engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/SceneDelegate.m delete mode 100644 engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/ViewController.h delete mode 100644 engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/ViewController.m delete mode 100644 engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/main.m delete mode 100644 engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/Scenarios/Info_Impeller.plist delete mode 100644 engine/src/flutter/testing/scenario_app/ios/Scenarios.xcworkspace/contents.xcworkspacedata delete mode 100644 engine/src/flutter/testing/scenario_app/ios/Scenarios.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 engine/src/flutter/testing/scenario_app/ios/Scenarios.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings delete mode 100644 engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosShare/Base.lproj/MainInterface.storyboard delete mode 100644 engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosShare/Info.plist delete mode 100644 engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosShare/ShareViewController.h delete mode 100644 engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosShare/ShareViewController.m delete mode 100644 engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosUITests/AppExtensionTests.m delete mode 100644 engine/src/flutter/testing/scenario_app/lib/src/darwin_app_extension_scenario.dart diff --git a/engine/src/flutter/shell/platform/darwin/common/framework/Source/FlutterNSBundleUtils.mm b/engine/src/flutter/shell/platform/darwin/common/framework/Source/FlutterNSBundleUtils.mm index 54cf8feeb7..9582f94e26 100644 --- a/engine/src/flutter/shell/platform/darwin/common/framework/Source/FlutterNSBundleUtils.mm +++ b/engine/src/flutter/shell/platform/darwin/common/framework/Source/FlutterNSBundleUtils.mm @@ -9,7 +9,6 @@ FLUTTER_ASSERT_ARC const NSString* kDefaultAssetPath = @"Frameworks/App.framework/flutter_assets"; -static NSString* GetFlutterAssetPathFromBundle(NSBundle* bundle); NSBundle* FLTFrameworkBundleInternal(NSString* flutterFrameworkBundleID, NSURL* searchURL) { NSDirectoryEnumerator* frameworkEnumerator = [NSFileManager.defaultManager @@ -30,7 +29,7 @@ NSBundle* FLTFrameworkBundleInternal(NSString* flutterFrameworkBundleID, NSURL* } NSBundle* FLTGetApplicationBundle() { - NSBundle* mainBundle = NSBundle.mainBundle; + NSBundle* mainBundle = [NSBundle mainBundle]; // App extension bundle is in .app/PlugIns/Extension.appex. if ([mainBundle.bundleURL.pathExtension isEqualToString:@"appex"]) { // Up two levels. @@ -49,7 +48,7 @@ NSBundle* FLTFrameworkBundleWithIdentifier(NSString* flutterFrameworkBundleID) { flutterFrameworkBundle = [NSBundle bundleWithIdentifier:flutterFrameworkBundleID]; } if (flutterFrameworkBundle == nil) { - flutterFrameworkBundle = NSBundle.mainBundle; + flutterFrameworkBundle = [NSBundle mainBundle]; } return flutterFrameworkBundle; } @@ -59,23 +58,13 @@ NSString* FLTAssetPath(NSBundle* bundle) { } NSString* FLTAssetsPathFromBundle(NSBundle* bundle) { - NSString* flutterAssetsPath = GetFlutterAssetPathFromBundle(bundle); - if (flutterAssetsPath.length == 0) { - flutterAssetsPath = GetFlutterAssetPathFromBundle(NSBundle.mainBundle); - } - return flutterAssetsPath; -} - -static NSString* GetFlutterAssetPathFromBundle(NSBundle* bundle) { NSString* flutterAssetsPath = FLTAssetPath(bundle); // Use the raw path solution so that asset path can be returned from unloaded bundles. // See https://github.com/flutter/engine/pull/46073 - NSString* assetsPath = [bundle pathForResource:flutterAssetsPath ofType:nil]; + NSString* assetsPath = [bundle pathForResource:flutterAssetsPath ofType:@""]; + if (assetsPath.length == 0) { - // In app extension, using full relative path (kDefaultAssetPath) - // returns nil when the app bundle is not loaded. Try to use - // the sub folder name, which can successfully return a valid path. - assetsPath = [bundle pathForResource:@"flutter_assets" ofType:nil]; + assetsPath = [[NSBundle mainBundle] pathForResource:flutterAssetsPath ofType:@""]; } return assetsPath; } diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterDartProjectTest.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterDartProjectTest.mm index 025bde32ae..aecab91f00 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterDartProjectTest.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterDartProjectTest.mm @@ -93,7 +93,7 @@ FLUTTER_ASSERT_ARC id mockBundle = OCMClassMock([NSBundle class]); OCMStub([mockBundle objectForInfoDictionaryKey:@"FLTAssetsPath"]).andReturn(@"foo/assets"); NSString* resultAssetsPath = @"path/to/foo/assets"; - OCMStub([mockBundle pathForResource:@"foo/assets" ofType:nil]).andReturn(resultAssetsPath); + OCMStub([mockBundle pathForResource:@"foo/assets" ofType:@""]).andReturn(resultAssetsPath); NSString* path = FLTAssetsPathFromBundle(mockBundle); XCTAssertEqualObjects(path, @"path/to/foo/assets"); } @@ -102,9 +102,9 @@ FLUTTER_ASSERT_ARC id mockBundle = OCMClassMock([NSBundle class]); id mockMainBundle = OCMPartialMock([NSBundle mainBundle]); NSString* resultAssetsPath = @"path/to/foo/assets"; - OCMStub([mockBundle pathForResource:@"Frameworks/App.framework/flutter_assets" ofType:nil]) + OCMStub([mockBundle pathForResource:@"Frameworks/App.framework/flutter_assets" ofType:@""]) .andReturn(nil); - OCMStub([mockMainBundle pathForResource:@"Frameworks/App.framework/flutter_assets" ofType:nil]) + OCMStub([mockMainBundle pathForResource:@"Frameworks/App.framework/flutter_assets" ofType:@""]) .andReturn(resultAssetsPath); NSString* path = FLTAssetsPathFromBundle(mockBundle); XCTAssertEqualObjects(path, @"path/to/foo/assets"); diff --git a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost.xcodeproj/project.pbxproj b/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost.xcodeproj/project.pbxproj deleted file mode 100644 index b67c72aaba..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost.xcodeproj/project.pbxproj +++ /dev/null @@ -1,372 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 56; - objects = { - -/* Begin PBXBuildFile section */ - 686382C62ABE173000E27AAD /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 686382C52ABE173000E27AAD /* AppDelegate.m */; }; - 686382C92ABE173000E27AAD /* SceneDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 686382C82ABE173000E27AAD /* SceneDelegate.m */; }; - 686382CC2ABE173000E27AAD /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 686382CB2ABE173000E27AAD /* ViewController.m */; }; - 686382CF2ABE173000E27AAD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 686382CD2ABE173000E27AAD /* Main.storyboard */; }; - 686382D12ABE173000E27AAD /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 686382D02ABE173000E27AAD /* Assets.xcassets */; }; - 686382D42ABE173000E27AAD /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 686382D22ABE173000E27AAD /* LaunchScreen.storyboard */; }; - 686382D72ABE173000E27AAD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 686382D62ABE173000E27AAD /* main.m */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 686382C12ABE172F00E27AAD /* FlutterAppExtensionTestHost.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FlutterAppExtensionTestHost.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 686382C42ABE173000E27AAD /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 686382C52ABE173000E27AAD /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 686382C72ABE173000E27AAD /* SceneDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SceneDelegate.h; sourceTree = ""; }; - 686382C82ABE173000E27AAD /* SceneDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SceneDelegate.m; sourceTree = ""; }; - 686382CA2ABE173000E27AAD /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; - 686382CB2ABE173000E27AAD /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; - 686382CE2ABE173000E27AAD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 686382D02ABE173000E27AAD /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 686382D32ABE173000E27AAD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 686382D52ABE173000E27AAD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 686382D62ABE173000E27AAD /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 686382BE2ABE172F00E27AAD /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 686382B82ABE172F00E27AAD = { - isa = PBXGroup; - children = ( - 686382C32ABE173000E27AAD /* FlutterAppExtensionTestHost */, - 686382C22ABE172F00E27AAD /* Products */, - ); - sourceTree = ""; - }; - 686382C22ABE172F00E27AAD /* Products */ = { - isa = PBXGroup; - children = ( - 686382C12ABE172F00E27AAD /* FlutterAppExtensionTestHost.app */, - ); - name = Products; - sourceTree = ""; - }; - 686382C32ABE173000E27AAD /* FlutterAppExtensionTestHost */ = { - isa = PBXGroup; - children = ( - 686382C42ABE173000E27AAD /* AppDelegate.h */, - 686382C52ABE173000E27AAD /* AppDelegate.m */, - 686382C72ABE173000E27AAD /* SceneDelegate.h */, - 686382C82ABE173000E27AAD /* SceneDelegate.m */, - 686382CA2ABE173000E27AAD /* ViewController.h */, - 686382CB2ABE173000E27AAD /* ViewController.m */, - 686382CD2ABE173000E27AAD /* Main.storyboard */, - 686382D02ABE173000E27AAD /* Assets.xcassets */, - 686382D22ABE173000E27AAD /* LaunchScreen.storyboard */, - 686382D52ABE173000E27AAD /* Info.plist */, - 686382D62ABE173000E27AAD /* main.m */, - ); - path = FlutterAppExtensionTestHost; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 686382C02ABE172F00E27AAD /* FlutterAppExtensionTestHost */ = { - isa = PBXNativeTarget; - buildConfigurationList = 686382DA2ABE173000E27AAD /* Build configuration list for PBXNativeTarget "FlutterAppExtensionTestHost" */; - buildPhases = ( - 686382BD2ABE172F00E27AAD /* Sources */, - 686382BE2ABE172F00E27AAD /* Frameworks */, - 686382BF2ABE172F00E27AAD /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = FlutterAppExtensionTestHost; - productName = FlutterAppExtensionTestHost; - productReference = 686382C12ABE172F00E27AAD /* FlutterAppExtensionTestHost.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 686382B92ABE172F00E27AAD /* Project object */ = { - isa = PBXProject; - attributes = { - BuildIndependentTargetsInParallel = 1; - LastUpgradeCheck = 1500; - TargetAttributes = { - 686382C02ABE172F00E27AAD = { - CreatedOnToolsVersion = 15.0; - }; - }; - }; - buildConfigurationList = 686382BC2ABE172F00E27AAD /* Build configuration list for PBXProject "FlutterAppExtensionTestHost" */; - compatibilityVersion = "Xcode 14.0"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 686382B82ABE172F00E27AAD; - productRefGroup = 686382C22ABE172F00E27AAD /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 686382C02ABE172F00E27AAD /* FlutterAppExtensionTestHost */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 686382BF2ABE172F00E27AAD /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 686382D42ABE173000E27AAD /* LaunchScreen.storyboard in Resources */, - 686382D12ABE173000E27AAD /* Assets.xcassets in Resources */, - 686382CF2ABE173000E27AAD /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 686382BD2ABE172F00E27AAD /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 686382CC2ABE173000E27AAD /* ViewController.m in Sources */, - 686382C62ABE173000E27AAD /* AppDelegate.m in Sources */, - 686382D72ABE173000E27AAD /* main.m in Sources */, - 686382C92ABE173000E27AAD /* SceneDelegate.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 686382CD2ABE173000E27AAD /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 686382CE2ABE173000E27AAD /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 686382D22ABE173000E27AAD /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 686382D32ABE173000E27AAD /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 686382D82ABE173000E27AAD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 17.0; - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - }; - name = Debug; - }; - 686382D92ABE173000E27AAD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 17.0; - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 686382DB2ABE173000E27AAD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = FlutterAppExtensionTestHost/Info.plist; - INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; - INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; - INFOPLIST_KEY_UIMainStoryboardFile = Main; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 16.2; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.FlutterAppExtensionTestHost; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 686382DC2ABE173000E27AAD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = FlutterAppExtensionTestHost/Info.plist; - INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; - INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; - INFOPLIST_KEY_UIMainStoryboardFile = Main; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 16.2; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.FlutterAppExtensionTestHost; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 686382BC2ABE172F00E27AAD /* Build configuration list for PBXProject "FlutterAppExtensionTestHost" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 686382D82ABE173000E27AAD /* Debug */, - 686382D92ABE173000E27AAD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 686382DA2ABE173000E27AAD /* Build configuration list for PBXNativeTarget "FlutterAppExtensionTestHost" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 686382DB2ABE173000E27AAD /* Debug */, - 686382DC2ABE173000E27AAD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 686382B92ABE172F00E27AAD /* Project object */; -} diff --git a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a625..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/AppDelegate.h b/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/AppDelegate.h deleted file mode 100644 index 99c576ec95..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/AppDelegate.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -@interface AppDelegate : UIResponder - -@end diff --git a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/AppDelegate.m b/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/AppDelegate.m deleted file mode 100644 index 1beee74b03..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/AppDelegate.m +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import "AppDelegate.h" - -@interface AppDelegate () - -@end - -@implementation AppDelegate - -- (BOOL)application:(UIApplication*)application - didFinishLaunchingWithOptions:(NSDictionary*)launchOptions { - // Override point for customization after application launch. - return YES; -} - -#pragma mark - UISceneSession lifecycle - -- (UISceneConfiguration*)application:(UIApplication*)application - configurationForConnectingSceneSession:(UISceneSession*)connectingSceneSession - options:(UISceneConnectionOptions*)options { - // Called when a new scene session is being created. - // Use this method to select a configuration to create the new scene with. - return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" - sessionRole:connectingSceneSession.role]; -} - -- (void)application:(UIApplication*)application - didDiscardSceneSessions:(NSSet*)sceneSessions { - // Called when the user discards a scene session. - // If any sessions were discarded while the application was not running, this will be called - // shortly after application:didFinishLaunchingWithOptions. Use this method to release any - // resources that were specific to the discarded scenes, as they will not return. -} - -@end diff --git a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Assets.xcassets/AccentColor.colorset/Contents.json b/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Assets.xcassets/AccentColor.colorset/Contents.json deleted file mode 100644 index eb87897008..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Assets.xcassets/AccentColor.colorset/Contents.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "colors" : [ - { - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Assets.xcassets/AppIcon.appiconset/Contents.json b/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 13613e3ee1..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Assets.xcassets/Contents.json b/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Assets.xcassets/Contents.json deleted file mode 100644 index 73c00596a7..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Base.lproj/LaunchScreen.storyboard b/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index 865e9329f3..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Base.lproj/Main.storyboard b/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Base.lproj/Main.storyboard deleted file mode 100644 index 808a21ce77..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Base.lproj/Main.storyboard +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Info.plist b/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Info.plist deleted file mode 100644 index 81ed29b76c..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/Info.plist +++ /dev/null @@ -1,25 +0,0 @@ - - - - - UIApplicationSceneManifest - - UIApplicationSupportsMultipleScenes - - UISceneConfigurations - - UIWindowSceneSessionRoleApplication - - - UISceneConfigurationName - Default Configuration - UISceneDelegateClassName - SceneDelegate - UISceneStoryboardFile - Main - - - - - - diff --git a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/SceneDelegate.h b/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/SceneDelegate.h deleted file mode 100644 index 6adc5d3a2c..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/SceneDelegate.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -@interface SceneDelegate : UIResponder - -@property(strong, nonatomic) UIWindow* window; - -@end diff --git a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/SceneDelegate.m b/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/SceneDelegate.m deleted file mode 100644 index 1271efb7fa..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/SceneDelegate.m +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import "SceneDelegate.h" - -@interface SceneDelegate () - -@end - -@implementation SceneDelegate - -- (void)scene:(UIScene*)scene - willConnectToSession:(UISceneSession*)session - options:(UISceneConnectionOptions*)connectionOptions { - // Use this method to optionally configure and attach the UIWindow `window` to the provided - // UIWindowScene `scene`. If using a storyboard, the `window` property will automatically be - // initialized and attached to the scene. This delegate does not imply the connecting scene or - // session are new (see `application:configurationForConnectingSceneSession` instead). -} - -- (void)sceneDidDisconnect:(UIScene*)scene { - // Called as the scene is being released by the system. - // This occurs shortly after the scene enters the background, or when its session is discarded. - // Release any resources associated with this scene that can be re-created the next time the scene - // connects. The scene may re-connect later, as its session was not necessarily discarded (see - // `application:didDiscardSceneSessions` instead). -} - -- (void)sceneDidBecomeActive:(UIScene*)scene { - // Called when the scene has moved from an inactive state to an active state. - // Use this method to restart any tasks that were paused (or not yet started) when the scene was - // inactive. -} - -- (void)sceneWillResignActive:(UIScene*)scene { - // Called when the scene will move from an active state to an inactive state. - // This may occur due to temporary interruptions (ex. an incoming phone call). -} - -- (void)sceneWillEnterForeground:(UIScene*)scene { - // Called as the scene transitions from the background to the foreground. - // Use this method to undo the changes made on entering the background. -} - -- (void)sceneDidEnterBackground:(UIScene*)scene { - // Called as the scene transitions from the foreground to the background. - // Use this method to save data, release shared resources, and store enough scene-specific state - // information to restore the scene back to its current state. -} - -@end diff --git a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/ViewController.h b/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/ViewController.h deleted file mode 100644 index 4f235259bf..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/ViewController.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -@interface ViewController : UIViewController - -@end diff --git a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/ViewController.m b/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/ViewController.m deleted file mode 100644 index b725cc4126..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/ViewController.m +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import "ViewController.h" - -@interface ViewController () - -@end - -@implementation ViewController - -- (void)viewDidLoad { - [super viewDidLoad]; - UIButton* openShare = - [UIButton systemButtonWithPrimaryAction:[UIAction actionWithHandler:^( - __kindof UIAction* _Nonnull action) { - UIActivityViewController* activityVC = - [[UIActivityViewController alloc] initWithActivityItems:@[ @"text to share" ] - applicationActivities:nil]; - activityVC.excludedActivityTypes = @[ - UIActivityTypePrint, UIActivityTypeCopyToPasteboard, - UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll - ]; // Exclude whichever aren't relevant - [self presentViewController:activityVC animated:YES completion:nil]; - }]]; - openShare.backgroundColor = [UIColor systemPinkColor]; - [openShare setTitle:@"Open Share" forState:UIControlStateNormal]; - [self.view addSubview:openShare]; - openShare.frame = CGRectMake(0, 0, 200, 200); -} - -@end diff --git a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/main.m b/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/main.m deleted file mode 100644 index f98f92491e..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/FlutterAppExtensionTestHost/main.m +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import -#import "AppDelegate.h" - -int main(int argc, char* argv[]) { - NSString* appDelegateClassName; - @autoreleasepool { - // Setup code that might create autoreleased objects goes here. - appDelegateClassName = NSStringFromClass([AppDelegate class]); - } - return UIApplicationMain(argc, argv, nil, appDelegateClassName); -} diff --git a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/Scenarios/Info_Impeller.plist b/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/Scenarios/Info_Impeller.plist deleted file mode 100644 index 2ad0401d1c..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/FlutterAppExtensionTestHost/Scenarios/Info_Impeller.plist +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - FLTEnableImpeller - - UIApplicationSceneManifest - - UIApplicationSupportsMultipleScenes - - UISceneConfigurations - - UIWindowSceneSessionRoleApplication - - - UISceneConfigurationName - Default Configuration - UISceneDelegateClassName - SceneDelegate - UISceneStoryboardFile - Main - - - - - - diff --git a/engine/src/flutter/testing/scenario_app/ios/Scenarios.xcworkspace/contents.xcworkspacedata b/engine/src/flutter/testing/scenario_app/ios/Scenarios.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 00ca3de9d7..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/Scenarios.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/engine/src/flutter/testing/scenario_app/ios/Scenarios.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/engine/src/flutter/testing/scenario_app/ios/Scenarios.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/Scenarios.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/engine/src/flutter/testing/scenario_app/ios/Scenarios.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/engine/src/flutter/testing/scenario_app/ios/Scenarios.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index 0c67376eba..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/Scenarios.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/engine/src/flutter/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/project.pbxproj b/engine/src/flutter/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/project.pbxproj index 7402e6958c..ec69054a44 100644 --- a/engine/src/flutter/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/project.pbxproj +++ b/engine/src/flutter/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 54; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ @@ -62,12 +62,6 @@ 6860CE252A01B2FF00B68EC5 /* golden_two_platform_view_clip_rrect_iPhone SE (3rd generation)_16.2_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 6860CE222A01B2FF00B68EC5 /* golden_two_platform_view_clip_rrect_iPhone SE (3rd generation)_16.2_simulator.png */; }; 6860CE262A01B2FF00B68EC5 /* golden_two_platform_view_clip_rect_iPhone SE (3rd generation)_16.2_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 6860CE232A01B2FF00B68EC5 /* golden_two_platform_view_clip_rect_iPhone SE (3rd generation)_16.2_simulator.png */; }; 6860CE272A01B2FF00B68EC5 /* golden_two_platform_view_clip_path_iPhone SE (3rd generation)_16.2_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 6860CE242A01B2FF00B68EC5 /* golden_two_platform_view_clip_path_iPhone SE (3rd generation)_16.2_simulator.png */; }; - 686382EC2AC1F9F300E27AAD /* ShareViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 686382EB2AC1F9F300E27AAD /* ShareViewController.m */; }; - 686382EF2AC1F9F300E27AAD /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 686382ED2AC1F9F300E27AAD /* MainInterface.storyboard */; }; - 686382F32AC1F9F300E27AAD /* ScenariosShare.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 686382E82AC1F9F300E27AAD /* ScenariosShare.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - 686383132AC202B700E27AAD /* AppExtensionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 686383122AC202B700E27AAD /* AppExtensionTests.m */; }; - 686383152AC2175100E27AAD /* ../../Flutter.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 246B4E4522E3B61000073EBF /* ../../Flutter.xcframework */; }; - 686383162AC2175100E27AAD /* ../../Flutter.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 246B4E4522E3B61000073EBF /* ../../Flutter.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 68A5B63423EB71D300BDBCDB /* PlatformViewGestureRecognizerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 68A5B63323EB71D300BDBCDB /* PlatformViewGestureRecognizerTests.m */; }; 68D4017D2564859300ECD91A /* ContinuousTexture.m in Sources */ = {isa = PBXBuildFile; fileRef = 68D4017C2564859300ECD91A /* ContinuousTexture.m */; }; 68D93AEE2A46097E0054AB6D /* golden_platform_view_with_negative_backdrop_filter_iPhone SE (3rd generation)_16.2_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 68D93AED2A46097E0054AB6D /* golden_platform_view_with_negative_backdrop_filter_iPhone SE (3rd generation)_16.2_simulator.png */; }; @@ -89,27 +83,6 @@ remoteGlobalIDString = 248D76C622E388370012F0C1; remoteInfo = Scenarios; }; - 686382F12AC1F9F300E27AAD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 248D76BF22E388370012F0C1 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 686382E72AC1F9F300E27AAD; - remoteInfo = ScenariosShare; - }; - 6863830A2AC2024200E27AAD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 686383052AC2024200E27AAD /* FlutterAppExtensionTestHost.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 686382C12ABE172F00E27AAD; - remoteInfo = FlutterAppExtensionTestHost; - }; - 686383102AC2027100E27AAD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 686383052AC2024200E27AAD /* FlutterAppExtensionTestHost.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 686382C02ABE172F00E27AAD; - remoteInfo = FlutterAppExtensionTestHost; - }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -147,28 +120,6 @@ name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; - 686382F42AC1F9F300E27AAD /* Embed Foundation Extensions */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 13; - files = ( - 686382F32AC1F9F300E27AAD /* ScenariosShare.appex in Embed Foundation Extensions */, - ); - name = "Embed Foundation Extensions"; - runOnlyForDeploymentPostprocessing = 0; - }; - 686383172AC2175100E27AAD /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 686383162AC2175100E27AAD /* ../../Flutter.xcframework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -234,13 +185,6 @@ 6860CE222A01B2FF00B68EC5 /* golden_two_platform_view_clip_rrect_iPhone SE (3rd generation)_16.2_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_two_platform_view_clip_rrect_iPhone SE (3rd generation)_16.2_simulator.png"; sourceTree = ""; }; 6860CE232A01B2FF00B68EC5 /* golden_two_platform_view_clip_rect_iPhone SE (3rd generation)_16.2_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_two_platform_view_clip_rect_iPhone SE (3rd generation)_16.2_simulator.png"; sourceTree = ""; }; 6860CE242A01B2FF00B68EC5 /* golden_two_platform_view_clip_path_iPhone SE (3rd generation)_16.2_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_two_platform_view_clip_path_iPhone SE (3rd generation)_16.2_simulator.png"; sourceTree = ""; }; - 686382E82AC1F9F300E27AAD /* ScenariosShare.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = ScenariosShare.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - 686382EA2AC1F9F300E27AAD /* ShareViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShareViewController.h; sourceTree = ""; }; - 686382EB2AC1F9F300E27AAD /* ShareViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShareViewController.m; sourceTree = ""; }; - 686382EE2AC1F9F300E27AAD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/MainInterface.storyboard; sourceTree = ""; }; - 686382F02AC1F9F300E27AAD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 686383052AC2024200E27AAD /* FlutterAppExtensionTestHost.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = FlutterAppExtensionTestHost.xcodeproj; path = ../FlutterAppExtensionTestHost/FlutterAppExtensionTestHost.xcodeproj; sourceTree = ""; }; - 686383122AC202B700E27AAD /* AppExtensionTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppExtensionTests.m; sourceTree = ""; }; 68A5B63323EB71D300BDBCDB /* PlatformViewGestureRecognizerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PlatformViewGestureRecognizerTests.m; sourceTree = ""; }; 68D4017B2564859300ECD91A /* ContinuousTexture.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContinuousTexture.h; sourceTree = ""; }; 68D4017C2564859300ECD91A /* ContinuousTexture.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ContinuousTexture.m; sourceTree = ""; }; @@ -275,25 +219,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 686382E52AC1F9F300E27AAD /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 686383152AC2175100E27AAD /* ../../Flutter.xcframework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ 248D76BE22E388370012F0C1 = { isa = PBXGroup; children = ( - 686383052AC2024200E27AAD /* FlutterAppExtensionTestHost.xcodeproj */, 248D76C922E388370012F0C1 /* Scenarios */, 248D76E222E388380012F0C1 /* ScenariosTests */, 248D76ED22E388380012F0C1 /* ScenariosUITests */, - 686382E92AC1F9F300E27AAD /* ScenariosShare */, 248D76C822E388370012F0C1 /* Products */, 248D76FC22E388900012F0C1 /* Frameworks */, ); @@ -305,7 +239,6 @@ 248D76C722E388370012F0C1 /* Scenarios.app */, 248D76DF22E388380012F0C1 /* ScenariosTests.xctest */, 248D76EA22E388380012F0C1 /* ScenariosUITests.xctest */, - 686382E82AC1F9F300E27AAD /* ScenariosShare.appex */, ); name = Products; sourceTree = ""; @@ -365,7 +298,6 @@ 246A6610252E693A00EAB0F3 /* RenderingSelectionTest.m */, 0DDEBC88258830B40065D0E8 /* SpawnEngineTest.m */, F26F15B7268B6B5500EC54D3 /* iPadGestureTests.m */, - 686383122AC202B700E27AAD /* AppExtensionTests.m */, ); path = ScenariosUITests; sourceTree = ""; @@ -379,25 +311,6 @@ name = Frameworks; sourceTree = ""; }; - 686382E92AC1F9F300E27AAD /* ScenariosShare */ = { - isa = PBXGroup; - children = ( - 686382EA2AC1F9F300E27AAD /* ShareViewController.h */, - 686382EB2AC1F9F300E27AAD /* ShareViewController.m */, - 686382ED2AC1F9F300E27AAD /* MainInterface.storyboard */, - 686382F02AC1F9F300E27AAD /* Info.plist */, - ); - path = ScenariosShare; - sourceTree = ""; - }; - 686383062AC2024200E27AAD /* Products */ = { - isa = PBXGroup; - children = ( - 6863830B2AC2024200E27AAD /* FlutterAppExtensionTestHost.app */, - ); - name = Products; - sourceTree = ""; - }; F7B464DC2759D02B00079189 /* Goldens */ = { isa = PBXGroup; children = ( @@ -442,12 +355,10 @@ 248D76C422E388370012F0C1 /* Frameworks */, 248D76C522E388370012F0C1 /* Resources */, 246B4E4422E3B5F700073EBF /* Embed Frameworks */, - 686382F42AC1F9F300E27AAD /* Embed Foundation Extensions */, ); buildRules = ( ); dependencies = ( - 686382F22AC1F9F300E27AAD /* PBXTargetDependency */, ); name = Scenarios; productName = Scenarios; @@ -485,7 +396,6 @@ buildRules = ( ); dependencies = ( - 686383112AC2027100E27AAD /* PBXTargetDependency */, 248D76EC22E388380012F0C1 /* PBXTargetDependency */, ); name = ScenariosUITests; @@ -493,24 +403,6 @@ productReference = 248D76EA22E388380012F0C1 /* ScenariosUITests.xctest */; productType = "com.apple.product-type.bundle.ui-testing"; }; - 686382E72AC1F9F300E27AAD /* ScenariosShare */ = { - isa = PBXNativeTarget; - buildConfigurationList = 686382F72AC1F9F300E27AAD /* Build configuration list for PBXNativeTarget "ScenariosShare" */; - buildPhases = ( - 686382E42AC1F9F300E27AAD /* Sources */, - 686382E52AC1F9F300E27AAD /* Frameworks */, - 686382E62AC1F9F300E27AAD /* Resources */, - 686383172AC2175100E27AAD /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = ScenariosShare; - productName = ScenariosShare; - productReference = 686382E82AC1F9F300E27AAD /* ScenariosShare.appex */; - productType = "com.apple.product-type.app-extension"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -534,9 +426,6 @@ LastSwiftMigration = 1030; TestTargetID = 248D76C622E388370012F0C1; }; - 686382E72AC1F9F300E27AAD = { - CreatedOnToolsVersion = 15.0; - }; }; }; buildConfigurationList = 248D76C222E388370012F0C1 /* Build configuration list for PBXProject "Scenarios" */; @@ -550,32 +439,15 @@ mainGroup = 248D76BE22E388370012F0C1; productRefGroup = 248D76C822E388370012F0C1 /* Products */; projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 686383062AC2024200E27AAD /* Products */; - ProjectRef = 686383052AC2024200E27AAD /* FlutterAppExtensionTestHost.xcodeproj */; - }, - ); projectRoot = ""; targets = ( 248D76C622E388370012F0C1 /* Scenarios */, 248D76DE22E388380012F0C1 /* ScenariosTests */, 248D76E922E388380012F0C1 /* ScenariosUITests */, - 686382E72AC1F9F300E27AAD /* ScenariosShare */, ); }; /* End PBXProject section */ -/* Begin PBXReferenceProxy section */ - 6863830B2AC2024200E27AAD /* FlutterAppExtensionTestHost.app */ = { - isa = PBXReferenceProxy; - fileType = wrapper.application; - path = FlutterAppExtensionTestHost.app; - remoteRef = 6863830A2AC2024200E27AAD /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - /* Begin PBXResourcesBuildPhase section */ 248D76C522E388370012F0C1 /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -625,14 +497,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 686382E62AC1F9F300E27AAD /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 686382EF2AC1F9F300E27AAD /* MainInterface.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -675,19 +539,10 @@ F26F15B8268B6B5600EC54D3 /* iPadGestureTests.m in Sources */, 246A6611252E693A00EAB0F3 /* RenderingSelectionTest.m in Sources */, 4F06F1B32473296E000AF246 /* LocalizationInitializationTest.m in Sources */, - 686383132AC202B700E27AAD /* AppExtensionTests.m in Sources */, 0DDEBC89258830B40065D0E8 /* SpawnEngineTest.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 686382E42AC1F9F300E27AAD /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 686382EC2AC1F9F300E27AAD /* ShareViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -701,29 +556,8 @@ target = 248D76C622E388370012F0C1 /* Scenarios */; targetProxy = 248D76EB22E388380012F0C1 /* PBXContainerItemProxy */; }; - 686382F22AC1F9F300E27AAD /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 686382E72AC1F9F300E27AAD /* ScenariosShare */; - targetProxy = 686382F12AC1F9F300E27AAD /* PBXContainerItemProxy */; - }; - 686383112AC2027100E27AAD /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = FlutterAppExtensionTestHost; - targetProxy = 686383102AC2027100E27AAD /* PBXContainerItemProxy */; - }; /* End PBXTargetDependency section */ -/* Begin PBXVariantGroup section */ - 686382ED2AC1F9F300E27AAD /* MainInterface.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 686382EE2AC1F9F300E27AAD /* Base */, - ); - name = MainInterface.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - /* Begin XCBuildConfiguration section */ 248D76F122E388380012F0C1 /* Debug */ = { isa = XCBuildConfiguration; @@ -844,7 +678,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = S8QB4VV633; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)", @@ -867,7 +701,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = S8QB4VV633; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)", @@ -889,7 +723,7 @@ buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = S8QB4VV633; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)", @@ -916,7 +750,7 @@ buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = S8QB4VV633; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)", @@ -942,7 +776,7 @@ isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = S8QB4VV633; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)", @@ -968,7 +802,7 @@ isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = S8QB4VV633; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)", @@ -990,70 +824,6 @@ }; name = Release; }; - 686382F52AC1F9F300E27AAD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = ""; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = ScenariosShare/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = ScenariosShare; - INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2023 flutter. All rights reserved."; - IPHONEOS_DEPLOYMENT_TARGET = 16.2; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@executable_path/../../Frameworks", - ); - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.Scenarios.ScenariosShare; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 686382F62AC1F9F300E27AAD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = ""; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = ScenariosShare/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = ScenariosShare; - INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2023 flutter. All rights reserved."; - IPHONEOS_DEPLOYMENT_TARGET = 16.2; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@executable_path/../../Frameworks", - ); - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.Scenarios.ScenariosShare; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -1093,15 +863,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 686382F72AC1F9F300E27AAD /* Build configuration list for PBXNativeTarget "ScenariosShare" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 686382F52AC1F9F300E27AAD /* Debug */, - 686382F62AC1F9F300E27AAD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; /* End XCConfigurationList section */ }; rootObject = 248D76BF22E388370012F0C1 /* Project object */; diff --git a/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosShare/Base.lproj/MainInterface.storyboard b/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosShare/Base.lproj/MainInterface.storyboard deleted file mode 100644 index 589bdd9e70..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosShare/Base.lproj/MainInterface.storyboard +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosShare/Info.plist b/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosShare/Info.plist deleted file mode 100644 index ad33037771..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosShare/Info.plist +++ /dev/null @@ -1,18 +0,0 @@ - - - - - NSExtension - - NSExtensionAttributes - - NSExtensionActivationRule - TRUEPREDICATE - - NSExtensionPrincipalClass - ShareViewController - NSExtensionPointIdentifier - com.apple.share-services - - - diff --git a/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosShare/ShareViewController.h b/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosShare/ShareViewController.h deleted file mode 100644 index 004a75bd6a..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosShare/ShareViewController.h +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import -#import - -@interface ShareViewController : FlutterViewController - -@end diff --git a/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosShare/ShareViewController.m b/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosShare/ShareViewController.m deleted file mode 100644 index cea875a762..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosShare/ShareViewController.m +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import "ShareViewController.h" - -@interface ShareViewController () - -@end - -@implementation ShareViewController - -- (instancetype)init { - FlutterEngine* engine = [[FlutterEngine alloc] initWithName:@"FlutterControllerTest" project:nil]; - [engine run]; - self = [self initWithEngine:engine nibName:nil bundle:nil]; - self.view.accessibilityIdentifier = @"flutter_view"; - - [engine.binaryMessenger - setMessageHandlerOnChannel:@"waiting_for_status" - binaryMessageHandler:^(NSData* _Nullable message, FlutterBinaryReply _Nonnull reply) { - FlutterMethodChannel* channel = [FlutterMethodChannel - methodChannelWithName:@"driver" - binaryMessenger:engine.binaryMessenger - codec:[FlutterJSONMethodCodec sharedInstance]]; - [channel invokeMethod:@"set_scenario" arguments:@{@"name" : @"app_extension"}]; - }]; - return self; -} - -@end diff --git a/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosUITests/AppExtensionTests.m b/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosUITests/AppExtensionTests.m deleted file mode 100644 index 70d4e0a190..0000000000 --- a/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosUITests/AppExtensionTests.m +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2020 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import -#import "GoldenTestManager.h" - -@interface AppExtensionTests : XCTestCase -@property(nonatomic, strong) XCUIApplication* hostApplication; -@end - -@implementation AppExtensionTests - -- (void)setUp { - [super setUp]; - self.continueAfterFailure = NO; - self.hostApplication = - [[XCUIApplication alloc] initWithBundleIdentifier:@"dev.flutter.FlutterAppExtensionTestHost"]; -} - -- (void)testAppExtensionLaunching { - [self.hostApplication launch]; - XCUIElement* button = self.hostApplication.buttons[@"Open Share"]; - if (![button waitForExistenceWithTimeout:10]) { - NSLog(@"%@", self.hostApplication.debugDescription); - XCTFail(@"Failed due to not able to find any button with %@ seconds", @(10)); - } - [button tap]; - BOOL launchedExtensionInFlutter = NO; - // Custom share extension button (like the one in this test) does not have a unique - // identity. They are all identified as `XCElementSnapshotPrivilegedValuePlaceholder`. - // Loop through all the `XCElementSnapshotPrivilegedValuePlaceholder` and find the Flutter one. - for (int i = 0; i < self.hostApplication.collectionViews.cells.count; i++) { - XCUIElement* shareSheetCell = - [self.hostApplication.collectionViews.cells elementBoundByIndex:i]; - if (![shareSheetCell.label isEqualToString:@"XCElementSnapshotPrivilegedValuePlaceholder"]) { - continue; - } - [shareSheetCell tap]; - - XCUIElement* flutterView = self.hostApplication.otherElements[@"flutter_view"]; - if ([flutterView waitForExistenceWithTimeout:10]) { - launchedExtensionInFlutter = YES; - break; - } - - // All the built-in share extensions have a Cancel button. - // Tap the Cancel button to close the built-in extension. - XCUIElement* cancel = self.hostApplication.buttons[@"Cancel"]; - if ([cancel waitForExistenceWithTimeout:10]) { - [cancel tap]; - } - } - // App extension successfully launched flutter view. - XCTAssertTrue(launchedExtensionInFlutter); -} - -@end diff --git a/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenTestManager.m b/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenTestManager.m index 29915a4cf5..a8d966379a 100644 --- a/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenTestManager.m +++ b/engine/src/flutter/testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenTestManager.m @@ -53,7 +53,6 @@ const double kDefaultRmseThreshold = 0.5; @"--two-platform-view-clip-rect" : @"two_platform_view_clip_rect", @"--two-platform-view-clip-rrect" : @"two_platform_view_clip_rrect", @"--two-platform-view-clip-path" : @"two_platform_view_clip_path", - @"--app-extension" : @"app_extension", }; }); _identifier = launchArgsMap[launchArg]; diff --git a/engine/src/flutter/testing/scenario_app/lib/src/darwin_app_extension_scenario.dart b/engine/src/flutter/testing/scenario_app/lib/src/darwin_app_extension_scenario.dart deleted file mode 100644 index 354810a5d8..0000000000 --- a/engine/src/flutter/testing/scenario_app/lib/src/darwin_app_extension_scenario.dart +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:ui'; - -import 'scenario.dart'; - -/// Shows a text that is shown in app extension. -class DarwinAppExtensionScenario extends Scenario { - /// Creates the DarwinAppExtensionScenario scenario. - DarwinAppExtensionScenario(super.view); - - // Semi-arbitrary. - final double _screenWidth = 700; - - @override - void onBeginFrame(Duration duration) { - final SceneBuilder builder = SceneBuilder(); - final PictureRecorder recorder = PictureRecorder(); - final Canvas canvas = Canvas(recorder); - - final ParagraphBuilder paragraphBuilder = - ParagraphBuilder(ParagraphStyle()) - ..pushStyle(TextStyle(fontSize: 80)) - ..addText('flutter Scenarios app extension.') - ..pop(); - final Paragraph paragraph = paragraphBuilder.build(); - - paragraph.layout(ParagraphConstraints(width: _screenWidth)); - - canvas.drawParagraph(paragraph, const Offset(50, 80)); - final Picture picture = recorder.endRecording(); - - builder.addPicture( - Offset.zero, - picture, - willChangeHint: true, - ); - final Scene scene = builder.build(); - view.render(scene); - scene.dispose(); - } -} diff --git a/engine/src/flutter/testing/scenario_app/lib/src/scenarios.dart b/engine/src/flutter/testing/scenario_app/lib/src/scenarios.dart index 8e3b15a985..d9c586023b 100644 --- a/engine/src/flutter/testing/scenario_app/lib/src/scenarios.dart +++ b/engine/src/flutter/testing/scenario_app/lib/src/scenarios.dart @@ -6,7 +6,6 @@ import 'dart:ui'; import 'animated_color_square.dart'; import 'bogus_font_text.dart'; -import 'darwin_app_extension_scenario.dart'; import 'get_bitmap_scenario.dart'; import 'initial_route_reply.dart'; import 'locale_initialization.dart'; @@ -67,7 +66,6 @@ Map _scenarios = { 'pointer_events': (FlutterView view) => TouchesScenario(view), 'display_texture': (FlutterView view) => DisplayTexture(view), 'get_bitmap': (FlutterView view) => GetBitmapScenario(view), - 'app_extension': (FlutterView view) => DarwinAppExtensionScenario(view), }; Map _currentScenarioParams = {}; diff --git a/engine/src/flutter/testing/scenario_app/run_ios_tests.sh b/engine/src/flutter/testing/scenario_app/run_ios_tests.sh index 772ea3b962..3f730deaf3 100755 --- a/engine/src/flutter/testing/scenario_app/run_ios_tests.sh +++ b/engine/src/flutter/testing/scenario_app/run_ios_tests.sh @@ -109,9 +109,7 @@ if set -o pipefail && xcodebuild -sdk iphonesimulator \ -skip-testing ScenariosUITests/TwoPlatformViewClipRRectTests/testPlatformView \ -skip-testing ScenariosUITests/TwoPlatformViewsWithOtherBackDropFilterTests/testPlatformView \ -skip-testing ScenariosUITests/UnobstructedPlatformViewTests/testMultiplePlatformViewsWithOverlays \ - # Plist with FLTEnableImpeller=YES, all projects in the workspace requires this file. - # For example, FlutterAppExtensionTestHost has a dummy file under the below directory. - INFOPLIST_FILE="Scenarios/Info_Impeller.plist"; then + INFOPLIST_FILE="Scenarios/Info_Impeller.plist"; then # Plist with FLTEnableImpeller=YES echo "test success." else echo "test failed."