From 930697d033450becdf5e0d3ffa4340c516e24adc Mon Sep 17 00:00:00 2001 From: lollipopkit Date: Fri, 13 Oct 2023 22:17:32 +0800 Subject: [PATCH] #82 #185 new: `StandBy` --- ios/Runner.xcodeproj/project.pbxproj | 36 +++--- ios/StatusWidget/StatusWidget.swift | 46 +++++++- lib/data/res/build_data.dart | 8 +- lib/view/page/setting/platform_pub.dart | 48 ++++---- macos/Runner.xcodeproj/project.pbxproj | 146 +----------------------- macos/Runner/Info.plist | 2 + make.dart | 31 ++--- 7 files changed, 103 insertions(+), 214 deletions(-) diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 1ed1311c0..46db87b9d 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -586,7 +586,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 587; + CURRENT_PROJECT_VERSION = 588; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -596,7 +596,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.587; + MARKETING_VERSION = 1.0.588; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -720,7 +720,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 587; + CURRENT_PROJECT_VERSION = 588; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -730,7 +730,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.587; + MARKETING_VERSION = 1.0.588; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -748,7 +748,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 587; + CURRENT_PROJECT_VERSION = 588; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -758,7 +758,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.587; + MARKETING_VERSION = 1.0.588; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -779,7 +779,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 587; + CURRENT_PROJECT_VERSION = 588; DEVELOPMENT_TEAM = BA88US33G6; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; @@ -792,7 +792,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.587; + MARKETING_VERSION = 1.0.588; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; @@ -818,7 +818,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 587; + CURRENT_PROJECT_VERSION = 588; DEVELOPMENT_TEAM = BA88US33G6; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; @@ -831,7 +831,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.587; + MARKETING_VERSION = 1.0.588; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -854,7 +854,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 587; + CURRENT_PROJECT_VERSION = 588; DEVELOPMENT_TEAM = BA88US33G6; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; @@ -867,7 +867,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.587; + MARKETING_VERSION = 1.0.588; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -890,7 +890,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 587; + CURRENT_PROJECT_VERSION = 588; DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_PREVIEWS = YES; @@ -902,7 +902,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.587; + MARKETING_VERSION = 1.0.588; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd; @@ -931,7 +931,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 587; + CURRENT_PROJECT_VERSION = 588; DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_PREVIEWS = YES; @@ -943,7 +943,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.587; + MARKETING_VERSION = 1.0.588; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd; PRODUCT_NAME = ServerBox; @@ -969,7 +969,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 587; + CURRENT_PROJECT_VERSION = 588; DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_PREVIEWS = YES; @@ -981,7 +981,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.587; + MARKETING_VERSION = 1.0.588; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd; PRODUCT_NAME = ServerBox; diff --git a/ios/StatusWidget/StatusWidget.swift b/ios/StatusWidget/StatusWidget.swift index 82f4a5b9d..4900804ad 100644 --- a/ios/StatusWidget/StatusWidget.swift +++ b/ios/StatusWidget/StatusWidget.swift @@ -72,8 +72,44 @@ struct StatusWidgetEntryView : View { DetailItem(icon: "network", text: data.net, color: sumColor) Spacer() DetailItem(icon: "clock", text: entry.date.toStr(), color: sumColor) - }.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading) - .padding(.all, 17) + } + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading) + .autoPadding() + .widgetBackground() + } + } +} + +extension View { + // Set bg to Color.black in Night, Color.white in Day + @ViewBuilder + func widgetBackground() -> some View { + let backgroundView = Color(UIColor.systemBackground) + if #available(iOS 17.0, *) { + @Environment(\.showsWidgetContainerBackground) var showsWidgetContainerBackground + containerBackground(for: .widget) { + // If it's show in StandBy + if showsWidgetContainerBackground { + backgroundView + } else { + self + } + } + } else { + background(backgroundView) + } + } + + // iOS 17 will auto add a SafeArea, so when iOS < 17, add .padding(.all, 17) + func autoPadding() -> some View { + if #available(iOS 17.0, *) { + @Environment(\.showsWidgetContainerBackground) var showsWidgetContainerBackground + if (showsWidgetContainerBackground) { + return self.padding(.all, 17) + } + return self + } else { + return self.padding(.all, 17) } } } @@ -82,12 +118,16 @@ struct StatusWidget: Widget { let kind: String = "StatusWidget" var body: some WidgetConfiguration { - IntentConfiguration(kind: kind, intent: ConfigurationIntent.self, provider: Provider()) { entry in + let cfg = IntentConfiguration(kind: kind, intent: ConfigurationIntent.self, provider: Provider()) { entry in StatusWidgetEntryView(entry: entry) } .configurationDisplayName("Status") .description("Status of your servers.") .supportedFamilies([.systemSmall]) + if #available(iOS 16.0, *) { + let _ = cfg.supportedFamilies([.accessoryInline, .accessoryCircular]) + } + return cfg } } diff --git a/lib/data/res/build_data.dart b/lib/data/res/build_data.dart index 77deb8b43..17d2c5a97 100644 --- a/lib/data/res/build_data.dart +++ b/lib/data/res/build_data.dart @@ -2,9 +2,9 @@ class BuildData { static const String name = "ServerBox"; - static const int build = 585; + static const int build = 588; static const String engine = "3.13.6"; - static const String buildAt = "2023-10-13 11:50:42"; - static const int modifications = 8; - static const int script = 20; + static const String buildAt = "2023-10-13 14:38:17"; + static const int modifications = 5; + static const int script = 21; } diff --git a/lib/view/page/setting/platform_pub.dart b/lib/view/page/setting/platform_pub.dart index b65b8407f..fa9434f00 100644 --- a/lib/view/page/setting/platform_pub.dart +++ b/lib/view/page/setting/platform_pub.dart @@ -19,32 +19,28 @@ class PlatformPublicSettings { subtitle: Text('${l10n.failed}: $e', style: UIs.textGrey), ), success: (can) { - return can - ? ListTile( - title: Text(l10n.bioAuth), - subtitle: can - ? null - : const Text('Error: Bio auth is not available', - style: UIs.textGrey), - trailing: can - ? StoreSwitch( - prop: Stores.setting.useBioAuth, - func: (val) async { - if (val) { - Stores.setting.useBioAuth.put(false); - return; - } - // Only auth when turn off (val == false) - final result = await BioAuth.auth(l10n.authRequired); - // If failed, turn on again - if (result != AuthResult.success) { - Stores.setting.useBioAuth.put(true); - } - }, - ) - : null, - ) - : UIs.placeholder; + return ListTile( + title: Text(l10n.bioAuth), + subtitle: + can ? null : const Text('Not available', style: UIs.textGrey), + trailing: can + ? StoreSwitch( + prop: Stores.setting.useBioAuth, + func: (val) async { + if (val) { + Stores.setting.useBioAuth.put(false); + return; + } + // Only auth when turn off (val == false) + final result = await BioAuth.auth(l10n.authRequired); + // If failed, turn on again + if (result != AuthResult.success) { + Stores.setting.useBioAuth.put(true); + } + }, + ) + : null, + ); }, noData: UIs.placeholder, ); diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index bb93e9a1f..e49e5e47f 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -21,24 +21,15 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 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 */; }; - D874F4AF921F439E81CF7293 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FFF2DE54D5055D5B946114D7 /* Pods_RunnerTests.framework */; }; E2CD3CED802387D5E56F06CD /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8B1B5C0D431C7ED686B9704F /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC10EC2044A3C60003C045; - remoteInfo = Runner; - }; 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 33CC10E52044A3C60003C045 /* Project object */; @@ -64,7 +55,6 @@ /* Begin PBXFileReference section */ 0CA3C900AA7C73CA8287C8EB /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 15AF97DF993E8968098D6EBE /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 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 = ""; }; @@ -92,14 +82,6 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 331C80D2294CF70F00263BE5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - D874F4AF921F439E81CF7293 /* Pods_RunnerTests.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 33CC10EA2044A3C60003C045 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -146,7 +128,6 @@ isa = PBXGroup; children = ( 33CC10ED2044A3C60003C045 /* server_box.app */, - 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, ); name = Products; sourceTree = ""; @@ -212,25 +193,6 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 331C80D4294CF70F00263BE5 /* RunnerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; - buildPhases = ( - B8BC17602664977976F5119B /* [CP] Check Pods Manifest.lock */, - 331C80D1294CF70F00263BE5 /* Sources */, - 331C80D2294CF70F00263BE5 /* Frameworks */, - 331C80D3294CF70F00263BE5 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 331C80DA294CF71000263BE5 /* PBXTargetDependency */, - ); - name = RunnerTests; - productName = RunnerTests; - productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; 33CC10EC2044A3C60003C045 /* Runner */ = { isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; @@ -263,10 +225,6 @@ LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { - 331C80D4294CF70F00263BE5 = { - CreatedOnToolsVersion = 14.0; - TestTargetID = 33CC10EC2044A3C60003C045; - }; 33CC10EC2044A3C60003C045 = { CreatedOnToolsVersion = 9.2; LastSwiftMigration = 1100; @@ -297,20 +255,12 @@ projectRoot = ""; targets = ( 33CC10EC2044A3C60003C045 /* Runner */, - 331C80D4294CF70F00263BE5 /* RunnerTests */, 33CC111A2044C6BA0003C045 /* Flutter Assemble */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 331C80D3294CF70F00263BE5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; 33CC10EB2044A3C60003C045 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -400,39 +350,9 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - B8BC17602664977976F5119B /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 331C80D1294CF70F00263BE5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 33CC10E92044A3C60003C045 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -446,11 +366,6 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC10EC2044A3C60003C045 /* Runner */; - targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; - }; 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; @@ -471,51 +386,6 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 331C80DB294CF71000263BE5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C1C758C41C4E208965A68933 /* Pods-RunnerTests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 587; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.587; - PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/server_box.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/server_box"; - }; - name = Debug; - }; - 331C80DC294CF71000263BE5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 15AF97DF993E8968098D6EBE /* Pods-RunnerTests.release.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 587; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.587; - PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/server_box.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/server_box"; - }; - name = Release; - }; - 331C80DD294CF71000263BE5 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7CFA7DE7FABA75685DFB6948 /* Pods-RunnerTests.profile.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 587; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.587; - PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/server_box.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/server_box"; - }; - name = Profile; - }; 338D0CE9231458BD00FA5F75 /* Profile */ = { isa = XCBuildConfiguration; baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; @@ -574,6 +444,8 @@ COMBINE_HIDPI_IMAGES = YES; DEVELOPMENT_TEAM = BA88US33G6; INFOPLIST_FILE = Runner/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = "Server Box"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", @@ -704,6 +576,8 @@ COMBINE_HIDPI_IMAGES = YES; DEVELOPMENT_TEAM = BA88US33G6; INFOPLIST_FILE = Runner/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = "Server Box"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", @@ -728,6 +602,8 @@ COMBINE_HIDPI_IMAGES = YES; DEVELOPMENT_TEAM = BA88US33G6; INFOPLIST_FILE = Runner/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = "Server Box"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", @@ -758,16 +634,6 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 331C80DB294CF71000263BE5 /* Debug */, - 331C80DC294CF71000263BE5 /* Release */, - 331C80DD294CF71000263BE5 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/macos/Runner/Info.plist b/macos/Runner/Info.plist index 4789daa6a..bbf8b4212 100644 --- a/macos/Runner/Info.plist +++ b/macos/Runner/Info.plist @@ -28,5 +28,7 @@ MainMenu NSPrincipalClass NSApplication + LSApplicationCategoryType + public.app-category.developer-tools diff --git a/make.dart b/make.dart index baec9e8fe..fd1a511c0 100755 --- a/make.dart +++ b/make.dart @@ -145,7 +145,6 @@ Future flutterBuildIOS() async { Future flutterBuildMacOS() async { await flutterBuild('macos'); - await scpMacOS2CDN(); } Future flutterBuildAndroid() async { @@ -178,26 +177,12 @@ Future scpApk2CDN() async { } } -Future scpMacOS2CDN() async { - await Process.run('mv', [ - macOSArchievePath, - 'release', - ]); - final zipName = '$build.app.zip'; - // Zip the .app - await Process.run( - 'zip', - [ - '-r', - zipName, - 'server_box.app', - ], - workingDirectory: releaseDir); +Future scpLinux2CDN() async { final result = await Process.run( 'scp', [ - '$releaseDir/$zipName', - 'hk:/var/www/res/serverbox/$build.app.zip', + './build/linux/x64/release/bundle/server_box.tar.gz', + 'hk:/var/www/res/serverbox/$build.tar.gz', ], runInShell: true, ); @@ -205,15 +190,15 @@ Future scpMacOS2CDN() async { print(result.stderr); exit(1); } - print('Upload macOS $zipName finished.'); + print('Upload Linux $build.tar.gz finished.'); } -Future scpLinux2CDN() async { +Future scpWindows2CDN() async { final result = await Process.run( 'scp', [ - './build/linux/x64/release/bundle/server_box.tar.gz', - 'hk:/var/www/res/serverbox/$build.tar.gz', + './build/windows/runner/Release/server_box.zip', + 'hk:/var/www/res/serverbox/$build.zip', ], runInShell: true, ); @@ -221,7 +206,7 @@ Future scpLinux2CDN() async { print(result.stderr); exit(1); } - print('Upload Linux $build.tar.gz finished.'); + print('Upload Windows $build.zip finished.'); } Future changeAppleVersion() async {