From ab889ab976fbe69ff9d54afbf1ba41a696c32b2c Mon Sep 17 00:00:00 2001 From: Abhishek Ghaskata Date: Fri, 22 Apr 2022 01:04:07 +0530 Subject: [PATCH] macos support for image_list (#84899) --- examples/image_list/macos/.gitignore | 6 + .../macos/Flutter/Flutter-Debug.xcconfig | 1 + .../macos/Flutter/Flutter-Release.xcconfig | 1 + .../macos/Runner.xcodeproj/project.pbxproj | 572 ++++++++++++++++++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 89 +++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../image_list/macos/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 68 +++ .../AppIcon.appiconset/app_icon_1024.png | Bin 0 -> 46993 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 0 -> 3276 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 0 -> 1429 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 0 -> 5933 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 0 -> 1243 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 0 -> 14800 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 0 -> 1874 bytes .../macos/Runner/Base.lproj/MainMenu.xib | 339 +++++++++++ .../macos/Runner/Configs/AppInfo.xcconfig | 14 + .../macos/Runner/Configs/Debug.xcconfig | 2 + .../macos/Runner/Configs/Release.xcconfig | 2 + .../macos/Runner/Configs/Warnings.xcconfig | 13 + .../macos/Runner/DebugProfile.entitlements | 12 + examples/image_list/macos/Runner/Info.plist | 32 + .../macos/Runner/MainFlutterWindow.swift | 19 + .../macos/Runner/Release.entitlements | 8 + 26 files changed, 1214 insertions(+) create mode 100644 examples/image_list/macos/.gitignore create mode 100644 examples/image_list/macos/Flutter/Flutter-Debug.xcconfig create mode 100644 examples/image_list/macos/Flutter/Flutter-Release.xcconfig create mode 100644 examples/image_list/macos/Runner.xcodeproj/project.pbxproj create mode 100644 examples/image_list/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 examples/image_list/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 examples/image_list/macos/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 examples/image_list/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 examples/image_list/macos/Runner/AppDelegate.swift create mode 100644 examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png create mode 100644 examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png create mode 100644 examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png create mode 100644 examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png create mode 100644 examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png create mode 100644 examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png create mode 100644 examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png create mode 100644 examples/image_list/macos/Runner/Base.lproj/MainMenu.xib create mode 100644 examples/image_list/macos/Runner/Configs/AppInfo.xcconfig create mode 100644 examples/image_list/macos/Runner/Configs/Debug.xcconfig create mode 100644 examples/image_list/macos/Runner/Configs/Release.xcconfig create mode 100644 examples/image_list/macos/Runner/Configs/Warnings.xcconfig create mode 100644 examples/image_list/macos/Runner/DebugProfile.entitlements create mode 100644 examples/image_list/macos/Runner/Info.plist create mode 100644 examples/image_list/macos/Runner/MainFlutterWindow.swift create mode 100644 examples/image_list/macos/Runner/Release.entitlements diff --git a/examples/image_list/macos/.gitignore b/examples/image_list/macos/.gitignore new file mode 100644 index 0000000000..d2fd377230 --- /dev/null +++ b/examples/image_list/macos/.gitignore @@ -0,0 +1,6 @@ +# Flutter-related +**/Flutter/ephemeral/ +**/Pods/ + +# Xcode-related +**/xcuserdata/ diff --git a/examples/image_list/macos/Flutter/Flutter-Debug.xcconfig b/examples/image_list/macos/Flutter/Flutter-Debug.xcconfig new file mode 100644 index 0000000000..c2efd0b608 --- /dev/null +++ b/examples/image_list/macos/Flutter/Flutter-Debug.xcconfig @@ -0,0 +1 @@ +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/examples/image_list/macos/Flutter/Flutter-Release.xcconfig b/examples/image_list/macos/Flutter/Flutter-Release.xcconfig new file mode 100644 index 0000000000..c2efd0b608 --- /dev/null +++ b/examples/image_list/macos/Flutter/Flutter-Release.xcconfig @@ -0,0 +1 @@ +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/examples/image_list/macos/Runner.xcodeproj/project.pbxproj b/examples/image_list/macos/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..65e1baa895 --- /dev/null +++ b/examples/image_list/macos/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,572 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 51; + objects = { + +/* Begin PBXAggregateTarget section */ + 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; + buildPhases = ( + 33CC111E2044C6BF0003C045 /* ShellScript */, + ); + dependencies = ( + ); + name = "Flutter Assemble"; + productName = FLX; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC111A2044C6BA0003C045; + remoteInfo = FLX; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 33CC110E2044A8840003C045 /* Bundle Framework */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Bundle Framework"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; + 33CC10ED2044A3C60003C045 /* image_list.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "image_list.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; + 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; + 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; + 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; + 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; + 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 33CC10EA2044A3C60003C045 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 33BA886A226E78AF003329D5 /* Configs */ = { + isa = PBXGroup; + children = ( + 33E5194F232828860026EE4D /* AppInfo.xcconfig */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, + ); + path = Configs; + sourceTree = ""; + }; + 33CC10E42044A3C60003C045 = { + isa = PBXGroup; + children = ( + 33FAB671232836740065AC1E /* Runner */, + 33CEB47122A05771004F2AC0 /* Flutter */, + 33CC10EE2044A3C60003C045 /* Products */, + D73912EC22F37F3D000D13A0 /* Frameworks */, + ); + sourceTree = ""; + }; + 33CC10EE2044A3C60003C045 /* Products */ = { + isa = PBXGroup; + children = ( + 33CC10ED2044A3C60003C045 /* image_list.app */, + ); + name = Products; + sourceTree = ""; + }; + 33CC11242044D66E0003C045 /* Resources */ = { + isa = PBXGroup; + children = ( + 33CC10F22044A3C60003C045 /* Assets.xcassets */, + 33CC10F42044A3C60003C045 /* MainMenu.xib */, + 33CC10F72044A3C60003C045 /* Info.plist */, + ); + name = Resources; + path = ..; + sourceTree = ""; + }; + 33CEB47122A05771004F2AC0 /* Flutter */ = { + isa = PBXGroup; + children = ( + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, + ); + path = Flutter; + sourceTree = ""; + }; + 33FAB671232836740065AC1E /* Runner */ = { + isa = PBXGroup; + children = ( + 33CC10F02044A3C60003C045 /* AppDelegate.swift */, + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, + 33E51913231747F40026EE4D /* DebugProfile.entitlements */, + 33E51914231749380026EE4D /* Release.entitlements */, + 33CC11242044D66E0003C045 /* Resources */, + 33BA886A226E78AF003329D5 /* Configs */, + ); + path = Runner; + sourceTree = ""; + }; + D73912EC22F37F3D000D13A0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 33CC10EC2044A3C60003C045 /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 33CC10E92044A3C60003C045 /* Sources */, + 33CC10EA2044A3C60003C045 /* Frameworks */, + 33CC10EB2044A3C60003C045 /* Resources */, + 33CC110E2044A8840003C045 /* Bundle Framework */, + 3399D490228B24CF009A79C7 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + 33CC11202044C79F0003C045 /* PBXTargetDependency */, + ); + name = Runner; + productName = Runner; + productReference = 33CC10ED2044A3C60003C045 /* image_list.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 33CC10E52044A3C60003C045 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 0930; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 33CC10EC2044A3C60003C045 = { + CreatedOnToolsVersion = 9.2; + LastSwiftMigration = 1100; + ProvisioningStyle = Automatic; + SystemCapabilities = { + com.apple.Sandbox = { + enabled = 1; + }; + }; + }; + 33CC111A2044C6BA0003C045 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Manual; + }; + }; + }; + buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 33CC10E42044A3C60003C045; + productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 33CC10EC2044A3C60003C045 /* Runner */, + 33CC111A2044C6BA0003C045 /* Flutter Assemble */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 33CC10EB2044A3C60003C045 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3399D490228B24CF009A79C7 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + }; + 33CC111E2044C6BF0003C045 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, + ); + inputPaths = ( + Flutter/ephemeral/tripwire, + ); + outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 33CC10E92044A3C60003C045 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; + targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 33CC10F52044A3C60003C045 /* Base */, + ); + name = MainMenu.xib; + path = Runner; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 338D0CE9231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = 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_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Profile; + }; + 338D0CEA231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Profile; + }; + 338D0CEB231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Profile; + }; + 33CC10F92044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = 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_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + 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_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 33CC10FA2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = 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_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + 33CC10FC2044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 33CC10FD2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 33CC111C2044C6BA0003C045 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 33CC111D2044C6BA0003C045 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10F92044A3C60003C045 /* Debug */, + 33CC10FA2044A3C60003C045 /* Release */, + 338D0CE9231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10FC2044A3C60003C045 /* Debug */, + 33CC10FD2044A3C60003C045 /* Release */, + 338D0CEA231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC111C2044C6BA0003C045 /* Debug */, + 33CC111D2044C6BA0003C045 /* Release */, + 338D0CEB231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 33CC10E52044A3C60003C045 /* Project object */; +} diff --git a/examples/image_list/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/examples/image_list/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000000..18d981003d --- /dev/null +++ b/examples/image_list/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/examples/image_list/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/examples/image_list/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000000..8d8f1dd636 --- /dev/null +++ b/examples/image_list/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/image_list/macos/Runner.xcworkspace/contents.xcworkspacedata b/examples/image_list/macos/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000000..1d526a16ed --- /dev/null +++ b/examples/image_list/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/examples/image_list/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/examples/image_list/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000000..18d981003d --- /dev/null +++ b/examples/image_list/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/examples/image_list/macos/Runner/AppDelegate.swift b/examples/image_list/macos/Runner/AppDelegate.swift new file mode 100644 index 0000000000..d080d41951 --- /dev/null +++ b/examples/image_list/macos/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +// Copyright 2014 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 Cocoa +import FlutterMacOS + +@NSApplicationMain +class AppDelegate: FlutterAppDelegate { + override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { + return true + } +} diff --git a/examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000000..a2ec33f19f --- /dev/null +++ b/examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_16.png", + "scale" : "1x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "2x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_64.png", + "scale" : "2x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_128.png", + "scale" : "1x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "2x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "1x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_1024.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..3c4935a7ca84f0976aca34b7f2895d65fb94d1ea GIT binary patch literal 46993 zcmeAS@N?(olHy`uVBq!ia0y~yU||4Z4mJh`hI(1;W)Lsk(btiIVPik{pF~y$1_p&> zk04(LhAK4%hK3dfhF=T}3=Ji(0|NtRfk$L90|U1(2s1Lwnj^u$z`$PO>Fdh=n3I*mh+C+-w~v9Lfx*+oF{I+w zo4=7W=3Jfo{P(|WT^%85UQR+mSq>fv(&3@+*R5N(?(&s)x5S@Uo^zew{dtbr7D2Y@ zjHjR9m{B>e#jS^t`55c6Rp(!>UbT1cce~yCzw+$aj5|&?^yZovN=2^v)G*UAc-a)e zkL!vBKc>00DFsW;%s*0ff9t;ab>BAcUab(B?aKH5yL`Tj2Ll2u_|fwo6bK@BkA)wb z{oh>u`J6eQ_b&R$oxttL@vx91k>B;U%lT=ygZlsfu9x_-*Y}L$&F@SM3=Ca5z4ggG zbBeiDbSJ0OuIFZ`TA=kZ*|YO~YeF6<2pG;>O!+hYNlfj+;$Qxg>NH-O+|Ooi=m}N* z8*=HoO6{X+!x_?`NMR_RaBTlpRaMX0g~ji@Csl`BDuO6X{nEAecDA;<)_gV9JO&M| zJbz{eh8LGo{!H(zXIQxU)C<<=?cqE

@If>gQBaQUX7oU}Rt@QSANiwRDlnO2PjO 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 literal 0 HcmV?d00001 diff --git a/examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png new file mode 100644 index 0000000000000000000000000000000000000000..ed4cc16421680a50164ba74381b4b35ceaa0ccfc GIT binary patch literal 3276 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 literal 0 HcmV?d00001 diff --git a/examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png new file mode 100644 index 0000000000000000000000000000000000000000..483be61389733f2e5331c08db8ca245268610ccb GIT binary patch literal 1429 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUNSs54@ z6p}rHd>I(3)EF2VS{N99F)%PRykKA`HDF+PmB7GYHG_dcykO3*KpO@IrilSQA+8Jz z3<)QHB%J&a4@Pk(e#C-N^obwQ$Dt_knGknI zo%j)T>_^0LgcgVbWD;U5#CDL!krYQBhXx=-JwzqMF1YujU@i$g{wwl0$b}GPkN{6S z`9po{SNnb6!;gVO71eNv`Ed2|Cx7T}|7N`No6*j1c6+~vfwcULMA8B=GxGQkhO&1? zU}c6ozZvfOZn62D^O{Enlh0Ou`X7E2q}^cWH;@!qR%gvC;o`0AQFGWpXfA8iT$ac= zQ0+Uu8Seh6z3QcC!Dfz#+3Zns*`lBdm?P#eMa(wb`ORSGH=(=@LirovvJexPBjzwi z%wY_lt-s@&`nuPmr8^*c;j&B-vl%01Geyk)|Np;2#5@xQ28LTDL4KeF&ft9i+t(ip z_!t-%7_6@S|NnoR9EizaedGWC|664+*eDXH90n*?8mx(tfx+Y^$P6iwrkOKlSMW11 znBM&Vf2)-6%K!iWKk))7vc9nm!o3g5CkzY>I#Qw_*?UkfL*M`Z|9`}Qlrq?X9JC4I zAc#duOMw?drla{v1`kZ&x447eE>7#Neh-Cb_IV^(WoU|`@Z@Q5sCVBi)8VMc~o zb0ioT7}!fZeO=ifbFy+6aSK)V_AxLpvU$2VhDcmaPGDekQ%e&IGb`is)5|lM-#)!R z-XXvv!X?B<=E(F3QzlKDICXM(KuAy+T|ZYeGK`h~Zl##uR8IM}$D+gm$Z zI$GiWxqAmMp1gVV>e;)8FQ2}BeEPxj_6i0X7Aht>HcCcXR%+7}_3RW4H7!+5b#0Z6 zwXM~sE9&oGuwliHC0o|)S+r@@u4U5}uG_b8->LBt=(e!k-Kt!c1=xaH(nF9H|_1NuhM3DxAvrJM&5S^di$$)Hp5cCn7SJ(<$oC% z7*tDKBT7;dOH!?pi&7IyQW=a43@vpHEOiY`Lkvx=Obx6I4RsC7tqcqn=oIIoXvob^ Z$xN%nt>I$f>5HKF^>p=fS?83{1OQU9x^Vyi literal 0 HcmV?d00001 diff --git a/examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png new file mode 100644 index 0000000000000000000000000000000000000000..bcbf36df2f2aaaa0a63c7dabc94e600184229d0d GIT binary patch literal 5933 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 I&MBb@0FMIvLjV8( literal 0 HcmV?d00001 diff --git a/examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png new file mode 100644 index 0000000000000000000000000000000000000000..9c0a652864769b250ed58097f2f6270b393f751f GIT binary patch literal 1243 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}Ea{HEjtmSN`?>!lvVtU& zJ%W507^>757#dm_7=AG@Ff_biU???UV0e|lz+g3lfkC`r&aOZk1_lPUByV>YhW{YA zVDIwD3=9mM1s;*b3=G`DAk4@xYmNj10|R@Br>`sfV@_5MBW|JU-aZBf=2M<7jv*0; z*G`YkkO>tzUY}kj{h9HYNQ;>Kk#C+Ylio~jQh0K7-_I;o-{#p398Cf>pVoG)Sg2on zhV96;W&NS?CM^oB)6_bqEK*gywWTxUx1y=M^cp8dtDn!i z|9?*L`<>QK({poHa;>P9VLG>>C`NI^+*ff^WeS`VnIbIzN9i;C%zL0debo!QKamfL zAFw=F>L>JW!5pE8!rhnEw=^^>{r<4N;iTENYYj?=YKj&pGd}*fA^HbPgzd@?o(Tv2 z{+jXByEE~~9NA#iKKrDhMM?~_*u9m{A028eUjNN(&lNMK$cL*oW=?#*ZMWo}wGDZ; z$3MnI9f;=gXx7$xpyO)Jb#e}Kdh~%{))FrM!}ksExV>0;=xv3Vg~Pd8id8>+dAg&xyz$De>dto9nMVfSW{*?tz9&&A^BqA9gV}xdQ9>= z=bj9@b0vHEsiO}L+SQ0@n4Ia3-_LHx_D(hQ<}>E`4632bTlcH%Io`}0f6`NCooA8E zKgI%cO(QYJP_xFBA2z;_h+tM@70co>|IZyDaqm`gnS#FW!@f4QA9IS8tZr`*s$6Zr z;nS{^mn`d+MiGuYMeKJ|DlM>{oVG zyncYC^}S1VYK(~+CAn6oY?Q1?|EvEm@?Wd%{r|x(YK=z~42sIn@1LJ#e|dh8p<;c@ z%|%N&*09Cx+kEh^_US8Sr#Om2LeoP^L!7?z?J>T+w;}%ioAS?lIek{nN^0f!cgu=j zKX&Q9y~13f4a%#|tT4(_f95}B)~)>6Ot;+*ZB4M-oFY)NYtOd0nu5xickgmJ-g9=I zKDVlfJJ?yw^v#;HM~!DhG938O?{?(gH$EwrX6et}mv{I7RpKmA5ec{&eV|3FyKGHe zV!VrcyxaA@@3;AV<<|b&_%c7&Pcf+IJWuao#=Zo*3&JLx(0 zpN;zEZCv)mi0)vKVR5_Cxq`Q{LXznoLtetArhng@%b6ImuJ2c_f1~?5B6J7S9*#W= zR;8Xf`D*nn?FZVo*!L_tmHHsQ&YbBVyNu$awNG26Ef^RWR7+eVN>UO_QmvAUQWHy3 z8H@}JEp-hnbq!2I3{9;}4Xg|ebq&m|3=9_N6z8I7$jwj5OsmAL;bP(Giwq1544$rj JF6*2UngAMu6(#@x literal 0 HcmV?d00001 diff --git a/examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png new file mode 100644 index 0000000000000000000000000000000000000000..e71a726136a47ed24125c7efc79d68a4a01961b4 GIT binary patch literal 14800 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 U3r}BUU|?YIboFyt=akR{00MO-p8x;= literal 0 HcmV?d00001 diff --git a/examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/examples/image_list/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png new file mode 100644 index 0000000000000000000000000000000000000000..8a31fe2dd3f91d79cab6e0390356bb3c1a355f94 GIT binary patch literal 1874 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hE| zgW!U_%O^81FmM)lL>4nJa0`PlBg3pY5)2Fs>?NMQuI!IFSvicjg{ph|7#P?bJzX3_ zDsJ7K{k}USRN}b(`MEdcCExA75pb}n&LLyUzJQnf8k4ppbZ+?MuBofI_YM0$ej&w| z-8@@DyIBHnd1$yCy`#HgL)F5c%OXn4HkIAIA^+~&nakZfH&>@U`)Bd}+}`qKayvGZ zKf7c7{B!NR;&;XKY{OqL+%~Kdzi{hiR_HfoerC}#`BFZ$|IGYkS``!Q1FZI~-2PJT zCtq_sV~xTgv8zA6o4he8kkR0LbaTO4CX)l}S@@XFtCsu@J}{f9RY7;|e`A{f27#93 z*;Q8V4Obo><=dyr^hRcHcgn-cm52CQ4=_L3)V97d?h;?MV4K;umbfXAEN{*fo#{5% zq9|i$%vhFca@)Q2yi0@DpGA=eXInaWSOq+)f}c6%B!^c|5(m8zk}i7=31Ng*=!$lxdlY+7JUzH&-ZLld1$L6{No0b3h(^~ zf6qKf=A1C~`DBlx9GxIrg;$HuvEBPnw`|_}nWZdmWcFq|E#s>gf-uOy?Jx!0mX#P?w129?ilvJ{`oZa z(BJPIm6`l|rZSic_V8773P|o_yLeso%WkC<-h5q#E6-o@DjjKCKU0!3@{qgG0q2&h z2h1L56e#P}%;nhob>alGniNJG7lU^qeDd2KZ$2-e$o(UNsiG_4!205cM;pTDf4Sy8 zVV~Z@`_@82?ftq9^Vf27R7?MurJLW^67oRtU~Umx4gZHe`8~ct=JAcKTso(@E#22K zRbOgoFWGitPlJD3`d)p9#8oWycjnF0>l3}VyYA_&qi?0F1FpI}R6MAd;Bp}Af%Ai# z7EfhD9a?@`2aCAvyFByIkLMkq#ST?$Z8Rv)2~T2LBFMO3d(XmY-kHLC80XFWxafg} zzLE^XFUBccclG7p*)Y~sRL!i++S*|BFp;zF&nFGzR;3e34SWpjAzS5FCC;A0(P_uZ zFfT@mOJGmgiukbZ4F;9%AH5g*h<87*SfT6|&1%8&vGxm?@cD70&t~ z?mk0SKkT5aqw9rdOJ1mK2){a4IK#Ik#LVm83u76ZZcV+KkAG61<%tQf1}=CMT`L(7 zJ4={h*S4ebd@J9In7Rf?1b>|&>@s8ij>Gex>lv0m4ik-8&F>?6=dcW0cNLF=kucJCm1BDh}ws_v5O3Z-1|)V_@s2<=>Q2KJ7c;e_kj0O-X89Voy=! z28&OBKU}dF*12=r*D{~~{lq}N6|Wcz!ioNo6@htWr{>iz5FN4N5mC!6QG5oUE7-^mXOM>&j7A=eHZHxAsbzj&Pp1#no zHB{nq*0CS0ynFt;?ELYNp&($Y=!3NBa?^gQyhy!!n{T$_e}xZrA115{+jFa$-T88! zYoKd`@{aZAU#C~kTK7ww=lbCc%aV9q1_lPz64!{5l*E!$tK_28#FA77BLhQAT?0#9 z1Je*gQ!7&gD?>wF19K|_g9SRpxhNWP^HVa@DsgMLSa|v(0|Nttr>mdKI;Vst01`nx ALI3~& literal 0 HcmV?d00001 diff --git a/examples/image_list/macos/Runner/Base.lproj/MainMenu.xib b/examples/image_list/macos/Runner/Base.lproj/MainMenu.xib new file mode 100644 index 0000000000..537341abf9 --- /dev/null +++ b/examples/image_list/macos/Runner/Base.lproj/MainMenu.xib @@ -0,0 +1,339 @@ + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/image_list/macos/Runner/Configs/AppInfo.xcconfig b/examples/image_list/macos/Runner/Configs/AppInfo.xcconfig new file mode 100644 index 0000000000..55939c7dca --- /dev/null +++ b/examples/image_list/macos/Runner/Configs/AppInfo.xcconfig @@ -0,0 +1,14 @@ +// Application-level settings for the Runner target. +// +// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the +// future. If not, the values below would default to using the project name when this becomes a +// 'flutter create' template. + +// The application's name. By default this is also the title of the Flutter window. +PRODUCT_NAME = image_list + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = com.example.imageList + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2021 com.example. All rights reserved. diff --git a/examples/image_list/macos/Runner/Configs/Debug.xcconfig b/examples/image_list/macos/Runner/Configs/Debug.xcconfig new file mode 100644 index 0000000000..36b0fd9464 --- /dev/null +++ b/examples/image_list/macos/Runner/Configs/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Debug.xcconfig" +#include "Warnings.xcconfig" diff --git a/examples/image_list/macos/Runner/Configs/Release.xcconfig b/examples/image_list/macos/Runner/Configs/Release.xcconfig new file mode 100644 index 0000000000..dff4f49561 --- /dev/null +++ b/examples/image_list/macos/Runner/Configs/Release.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Release.xcconfig" +#include "Warnings.xcconfig" diff --git a/examples/image_list/macos/Runner/Configs/Warnings.xcconfig b/examples/image_list/macos/Runner/Configs/Warnings.xcconfig new file mode 100644 index 0000000000..42bcbf4780 --- /dev/null +++ b/examples/image_list/macos/Runner/Configs/Warnings.xcconfig @@ -0,0 +1,13 @@ +WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings +GCC_WARN_UNDECLARED_SELECTOR = YES +CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +CLANG_WARN__DUPLICATE_METHOD_MATCH = YES +CLANG_WARN_PRAGMA_PACK = YES +CLANG_WARN_STRICT_PROTOTYPES = YES +CLANG_WARN_COMMA = YES +GCC_WARN_STRICT_SELECTOR_MATCH = YES +CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES +CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES +GCC_WARN_SHADOW = YES +CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/examples/image_list/macos/Runner/DebugProfile.entitlements b/examples/image_list/macos/Runner/DebugProfile.entitlements new file mode 100644 index 0000000000..dddb8a30c8 --- /dev/null +++ b/examples/image_list/macos/Runner/DebugProfile.entitlements @@ -0,0 +1,12 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.network.server + + + diff --git a/examples/image_list/macos/Runner/Info.plist b/examples/image_list/macos/Runner/Info.plist new file mode 100644 index 0000000000..4789daa6a4 --- /dev/null +++ b/examples/image_list/macos/Runner/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSHumanReadableCopyright + $(PRODUCT_COPYRIGHT) + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/examples/image_list/macos/Runner/MainFlutterWindow.swift b/examples/image_list/macos/Runner/MainFlutterWindow.swift new file mode 100644 index 0000000000..a97a96274e --- /dev/null +++ b/examples/image_list/macos/Runner/MainFlutterWindow.swift @@ -0,0 +1,19 @@ +// Copyright 2014 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 Cocoa +import FlutterMacOS + +class MainFlutterWindow: NSWindow { + override func awakeFromNib() { + let flutterViewController = FlutterViewController.init() + let windowFrame = self.frame + self.contentViewController = flutterViewController + self.setFrame(windowFrame, display: true) + + RegisterGeneratedPlugins(registry: flutterViewController) + + super.awakeFromNib() + } +} diff --git a/examples/image_list/macos/Runner/Release.entitlements b/examples/image_list/macos/Runner/Release.entitlements new file mode 100644 index 0000000000..852fa1a472 --- /dev/null +++ b/examples/image_list/macos/Runner/Release.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + +