new: update in browser (#337)

This commit is contained in:
lollipopkit
2024-04-16 00:07:00 +08:00
parent a28fabedef
commit b80bf51a61
18 changed files with 123 additions and 28 deletions

View File

@@ -672,7 +672,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 852; CURRENT_PROJECT_VERSION = 859;
DEVELOPMENT_TEAM = BA88US33G6; DEVELOPMENT_TEAM = BA88US33G6;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
@@ -682,7 +682,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.852; MARKETING_VERSION = 1.0.859;
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
@@ -808,7 +808,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 852; CURRENT_PROJECT_VERSION = 859;
DEVELOPMENT_TEAM = BA88US33G6; DEVELOPMENT_TEAM = BA88US33G6;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
@@ -818,7 +818,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.852; MARKETING_VERSION = 1.0.859;
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
@@ -836,7 +836,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 852; CURRENT_PROJECT_VERSION = 859;
DEVELOPMENT_TEAM = BA88US33G6; DEVELOPMENT_TEAM = BA88US33G6;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
@@ -846,7 +846,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.852; MARKETING_VERSION = 1.0.859;
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
@@ -867,7 +867,7 @@
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 852; CURRENT_PROJECT_VERSION = 859;
DEVELOPMENT_TEAM = BA88US33G6; DEVELOPMENT_TEAM = BA88US33G6;
GCC_C_LANGUAGE_STANDARD = gnu11; GCC_C_LANGUAGE_STANDARD = gnu11;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
@@ -880,7 +880,7 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
MARKETING_VERSION = 1.0.852; MARKETING_VERSION = 1.0.859;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
@@ -906,7 +906,7 @@
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 852; CURRENT_PROJECT_VERSION = 859;
DEVELOPMENT_TEAM = BA88US33G6; DEVELOPMENT_TEAM = BA88US33G6;
GCC_C_LANGUAGE_STANDARD = gnu11; GCC_C_LANGUAGE_STANDARD = gnu11;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
@@ -919,7 +919,7 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
MARKETING_VERSION = 1.0.852; MARKETING_VERSION = 1.0.859;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
@@ -942,7 +942,7 @@
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 852; CURRENT_PROJECT_VERSION = 859;
DEVELOPMENT_TEAM = BA88US33G6; DEVELOPMENT_TEAM = BA88US33G6;
GCC_C_LANGUAGE_STANDARD = gnu11; GCC_C_LANGUAGE_STANDARD = gnu11;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
@@ -955,7 +955,7 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
MARKETING_VERSION = 1.0.852; MARKETING_VERSION = 1.0.859;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
@@ -978,7 +978,7 @@
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 852; CURRENT_PROJECT_VERSION = 859;
DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = BA88US33G6; DEVELOPMENT_TEAM = BA88US33G6;
ENABLE_PREVIEWS = YES; ENABLE_PREVIEWS = YES;
@@ -990,7 +990,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.852; MARKETING_VERSION = 1.0.859;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
@@ -1019,7 +1019,7 @@
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 852; CURRENT_PROJECT_VERSION = 859;
DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = BA88US33G6; DEVELOPMENT_TEAM = BA88US33G6;
ENABLE_PREVIEWS = YES; ENABLE_PREVIEWS = YES;
@@ -1031,7 +1031,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.852; MARKETING_VERSION = 1.0.859;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
PRODUCT_NAME = ServerBox; PRODUCT_NAME = ServerBox;
@@ -1057,7 +1057,7 @@
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 852; CURRENT_PROJECT_VERSION = 859;
DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = BA88US33G6; DEVELOPMENT_TEAM = BA88US33G6;
ENABLE_PREVIEWS = YES; ENABLE_PREVIEWS = YES;
@@ -1069,7 +1069,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.852; MARKETING_VERSION = 1.0.859;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
PRODUCT_NAME = ServerBox; PRODUCT_NAME = ServerBox;

View File

@@ -3,6 +3,7 @@ import 'dart:io';
import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:r_upgrade/r_upgrade.dart'; import 'package:r_upgrade/r_upgrade.dart';
import 'package:toolbox/core/extension/context/common.dart';
import 'package:toolbox/core/extension/context/dialog.dart'; import 'package:toolbox/core/extension/context/dialog.dart';
import 'package:toolbox/core/extension/context/locale.dart'; import 'package:toolbox/core/extension/context/locale.dart';
import 'package:toolbox/core/extension/context/snackbar.dart'; import 'package:toolbox/core/extension/context/snackbar.dart';
@@ -14,6 +15,8 @@ import 'package:toolbox/data/res/build_data.dart';
import 'package:toolbox/data/res/logger.dart'; import 'package:toolbox/data/res/logger.dart';
import 'package:toolbox/data/res/path.dart'; import 'package:toolbox/data/res/path.dart';
import 'package:toolbox/data/res/provider.dart'; import 'package:toolbox/data/res/provider.dart';
import 'package:toolbox/data/res/store.dart';
import 'package:toolbox/data/res/ui.dart';
import 'package:toolbox/data/service/app.dart'; import 'package:toolbox/data/service/app.dart';
import 'package:toolbox/locator.dart'; import 'package:toolbox/locator.dart';
@@ -83,6 +86,57 @@ Future<void> _doUpdate(AppUpdate update, BuildContext context) async {
} }
if (isAndroid) { if (isAndroid) {
final inAppUpdate = Stores.setting.inAppUpdate;
var remember = true;
if (inAppUpdate.fetch() == 0) {
final cancel = await context.showRoundDialog(
title: Text(l10n.attention),
child: StatefulBuilder(builder: (_, setState) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
Text(l10n.inAppUpdate, style: UIs.text15Bold),
CheckboxListTile(
contentPadding: EdgeInsets.zero,
value: remember,
onChanged: (v) => setState(() => remember = v ?? true),
title: Text(l10n.rememberChoice),
),
],
);
}),
actions: [
TextButton(
onPressed: () => context.pop(true), child: Text(l10n.cancel)),
TextButton(
onPressed: () {
if (remember) {
inAppUpdate.put(1);
}
context.pop();
},
child: const Text('App'),
),
TextButton(
onPressed: () {
if (remember) {
inAppUpdate.put(2);
}
context.pop();
},
child: Text(l10n.browser),
),
],
);
if (cancel != false) {
return;
}
}
if (inAppUpdate.fetch() == 2) {
await openUrl(url);
return;
}
final fileName = url.split('/').last; final fileName = url.split('/').last;
await RUpgrade.upgrade(url, fileName: fileName); await RUpgrade.upgrade(url, fileName: fileName);
} else if (isIOS) { } else if (isIOS) {

View File

@@ -4,7 +4,7 @@ class BuildData {
static const String name = "ServerBox"; static const String name = "ServerBox";
static const int build = 852; static const int build = 852;
static const String engine = "3.19.5"; static const String engine = "3.19.5";
static const String buildAt = "2024-04-10 23:54:34"; static const String buildAt = "2024-04-15 09:41:06";
static const int modifications = 5; static const int modifications = 4;
static const int script = 44; static const int script = 44;
} }

View File

@@ -15,7 +15,7 @@ abstract final class GithubIds {
'dccif', 'dccif',
'QazCetelic', 'QazCetelic',
}; };
static const participants = <GhId>{ static const participants = <GhId>{
'jaychoubaby', 'jaychoubaby',
'fecture', 'fecture',

View File

@@ -267,6 +267,11 @@ class SettingStore extends PersistentStore {
late final displayCpuIndex = property('displayCpuIndex', true); late final displayCpuIndex = property('displayCpuIndex', true);
/// Some Android device are unable display the download progress notification,
/// open url in external browser.
/// 0 -> unset, 1 -> true, 2 -> false
late final inAppUpdate = property('inAppUpdate', 0);
// Never show these settings for users // Never show these settings for users
// //
// ------BEGIN------ // ------BEGIN------

View File

@@ -27,6 +27,7 @@
"bgRun": "Hintergrundaktualisierung", "bgRun": "Hintergrundaktualisierung",
"bgRunTip": "Dieser Schalter bedeutet nur, dass die App versuchen wird, im Hintergrund zu laufen. Ob sie im Hintergrund laufen kann, hängt davon ab, ob die Berechtigungen aktiviert sind oder nicht. Bei nativem Android deaktivieren Sie bitte \"Batterieoptimierung\" in dieser App, und bei miui ändern Sie bitte die Energiesparrichtlinie auf \"Unbegrenzt\".", "bgRunTip": "Dieser Schalter bedeutet nur, dass die App versuchen wird, im Hintergrund zu laufen. Ob sie im Hintergrund laufen kann, hängt davon ab, ob die Berechtigungen aktiviert sind oder nicht. Bei nativem Android deaktivieren Sie bitte \"Batterieoptimierung\" in dieser App, und bei miui ändern Sie bitte die Energiesparrichtlinie auf \"Unbegrenzt\".",
"bioAuth": "Biozertifizierung", "bioAuth": "Biozertifizierung",
"browser": "Browser",
"bulkImportServers": "Server im Batch importieren", "bulkImportServers": "Server im Batch importieren",
"bulkImportServersTip": "Sie können das [Format]({url}) hier finden.", "bulkImportServersTip": "Sie können das [Format]({url}) hier finden.",
"canPullRefresh": "Danach: herunterziehen zum Aktualisieren", "canPullRefresh": "Danach: herunterziehen zum Aktualisieren",
@@ -127,6 +128,7 @@
"image": "Image", "image": "Image",
"imagesList": "Images", "imagesList": "Images",
"import": "Importieren", "import": "Importieren",
"inAppUpdate": "Im App aktualisieren? Andernfalls mit einem Browser herunterladen.",
"inner": "Eingebaut", "inner": "Eingebaut",
"inputDomainHere": "Domain eingeben", "inputDomainHere": "Domain eingeben",
"install": "install", "install": "install",
@@ -217,6 +219,7 @@
"pwd": "Passwort", "pwd": "Passwort",
"read": "Lesen", "read": "Lesen",
"reboot": "Neustart", "reboot": "Neustart",
"rememberChoice": "Auswahl merken",
"rememberPwdInMem": "Passwort im Speicher behalten", "rememberPwdInMem": "Passwort im Speicher behalten",
"rememberPwdInMemTip": "Für Container, Aufhängen usw.", "rememberPwdInMemTip": "Für Container, Aufhängen usw.",
"remotePath": "Entfernte Pfade", "remotePath": "Entfernte Pfade",

View File

@@ -27,6 +27,7 @@
"bgRun": "Run in backgroud", "bgRun": "Run in backgroud",
"bgRunTip": "This switch only means the program will try to run in the background, whether it can run in the background depends on whether the permission is enabled or not. For native Android, please disable \"Battery Optimization\" in this app, and for miui, please change the power saving policy to \"Unlimited\".", "bgRunTip": "This switch only means the program will try to run in the background, whether it can run in the background depends on whether the permission is enabled or not. For native Android, please disable \"Battery Optimization\" in this app, and for miui, please change the power saving policy to \"Unlimited\".",
"bioAuth": "Biometric auth", "bioAuth": "Biometric auth",
"browser": "Browser",
"bulkImportServers": "Batch import servers", "bulkImportServers": "Batch import servers",
"bulkImportServersTip": "You can find the [format]({url}) here.", "bulkImportServersTip": "You can find the [format]({url}) here.",
"canPullRefresh": "You can pull to refresh.", "canPullRefresh": "You can pull to refresh.",
@@ -127,6 +128,7 @@
"image": "Image", "image": "Image",
"imagesList": "Images list", "imagesList": "Images list",
"import": "Import", "import": "Import",
"inAppUpdate": "Update within the app? Otherwise, download using a browser.",
"inner": "Inner", "inner": "Inner",
"inputDomainHere": "Input Domain here", "inputDomainHere": "Input Domain here",
"install": "install", "install": "install",
@@ -217,6 +219,7 @@
"pwd": "Password", "pwd": "Password",
"read": "Read", "read": "Read",
"reboot": "Reboot", "reboot": "Reboot",
"rememberChoice": "Remember the selection",
"rememberPwdInMem": "Remember password in memory", "rememberPwdInMem": "Remember password in memory",
"rememberPwdInMemTip": "Used for containers, suspending, etc.", "rememberPwdInMemTip": "Used for containers, suspending, etc.",
"remotePath": "Remote path", "remotePath": "Remote path",

View File

@@ -27,6 +27,7 @@
"bgRun": "Ejecución en segundo plano", "bgRun": "Ejecución en segundo plano",
"bgRunTip": "Este interruptor solo indica que la aplicación intentará correr en segundo plano, si puede hacerlo o no depende de si tiene el permiso correspondiente. En Android puro, por favor desactiva la “optimización de batería” para esta app, en MIUI por favor cambia la estrategia de ahorro de energía a “Sin restricciones”.", "bgRunTip": "Este interruptor solo indica que la aplicación intentará correr en segundo plano, si puede hacerlo o no depende de si tiene el permiso correspondiente. En Android puro, por favor desactiva la “optimización de batería” para esta app, en MIUI por favor cambia la estrategia de ahorro de energía a “Sin restricciones”.",
"bioAuth": "Autenticación biométrica", "bioAuth": "Autenticación biométrica",
"browser": "Navegador",
"bulkImportServers": "Importar servidores en masa", "bulkImportServers": "Importar servidores en masa",
"bulkImportServersTip": "Puede encontrar el [formato]]({url}) aquí.", "bulkImportServersTip": "Puede encontrar el [formato]]({url}) aquí.",
"canPullRefresh": "Se puede deslizar hacia abajo para refrescar", "canPullRefresh": "Se puede deslizar hacia abajo para refrescar",
@@ -127,6 +128,7 @@
"image": "Imagen", "image": "Imagen",
"imagesList": "Lista de imágenes", "imagesList": "Lista de imágenes",
"import": "Importar", "import": "Importar",
"inAppUpdate": "¿Actualizar dentro de la app? De lo contrario, descargar usando un navegador.",
"inner": "Interno", "inner": "Interno",
"inputDomainHere": "Introduce el dominio aquí", "inputDomainHere": "Introduce el dominio aquí",
"install": "Instalar", "install": "Instalar",
@@ -217,6 +219,7 @@
"pwd": "Contraseña", "pwd": "Contraseña",
"read": "Leer", "read": "Leer",
"reboot": "Reiniciar", "reboot": "Reiniciar",
"rememberChoice": "Recordar la selección",
"rememberPwdInMem": "Recordar contraseña en la memoria", "rememberPwdInMem": "Recordar contraseña en la memoria",
"rememberPwdInMemTip": "Utilizado para contenedores, suspensión, etc.", "rememberPwdInMemTip": "Utilizado para contenedores, suspensión, etc.",
"remotePath": "Ruta remota", "remotePath": "Ruta remota",

View File

@@ -27,6 +27,7 @@
"bgRun": "Exécuter en arrière-plan", "bgRun": "Exécuter en arrière-plan",
"bgRunTip": "Ce commutateur signifie seulement que l'application essaiera de fonctionner en arrière-plan. La possibilité de fonctionner en arrière-plan dépend de l'activation ou non des autorisations. Pour Android, veuillez désactiver l'option \"Optimisation de la batterie\" dans cette application, et pour Miui, veuillez changer la politique d'économie d'énergie en \"Illimité\".", "bgRunTip": "Ce commutateur signifie seulement que l'application essaiera de fonctionner en arrière-plan. La possibilité de fonctionner en arrière-plan dépend de l'activation ou non des autorisations. Pour Android, veuillez désactiver l'option \"Optimisation de la batterie\" dans cette application, et pour Miui, veuillez changer la politique d'économie d'énergie en \"Illimité\".",
"bioAuth": "Authentification biométrique", "bioAuth": "Authentification biométrique",
"browser": "Navigateur",
"bulkImportServers": "Importer des serveurs en lot", "bulkImportServers": "Importer des serveurs en lot",
"bulkImportServersTip": "Vous pouvez trouver le [format]({url}) ici.", "bulkImportServersTip": "Vous pouvez trouver le [format]({url}) ici.",
"canPullRefresh": "Vous pouvez tirer pour actualiser.", "canPullRefresh": "Vous pouvez tirer pour actualiser.",
@@ -127,6 +128,7 @@
"image": "Image", "image": "Image",
"imagesList": "Liste d'images", "imagesList": "Liste d'images",
"import": "Importer", "import": "Importer",
"inAppUpdate": "Mettre à jour dans l'application ? Sinon, télécharger via un navigateur.",
"inner": "Interne", "inner": "Interne",
"inputDomainHere": "Saisissez le domaine ici", "inputDomainHere": "Saisissez le domaine ici",
"install": "installer", "install": "installer",
@@ -217,6 +219,7 @@
"pwd": "Mot de passe", "pwd": "Mot de passe",
"read": "Lire", "read": "Lire",
"reboot": "Redémarrer", "reboot": "Redémarrer",
"rememberChoice": "Se souvenir de la sélection",
"rememberPwdInMem": "Mémoriser le mot de passe en mémoire", "rememberPwdInMem": "Mémoriser le mot de passe en mémoire",
"rememberPwdInMemTip": "Utilisé pour les conteneurs, la suspension, etc.", "rememberPwdInMemTip": "Utilisé pour les conteneurs, la suspension, etc.",
"remotePath": "Chemin distant", "remotePath": "Chemin distant",

View File

@@ -27,6 +27,7 @@
"bgRun": "Jalankan di Backgroud", "bgRun": "Jalankan di Backgroud",
"bgRunTip": "Sakelar ini hanya berarti aplikasi akan mencoba berjalan di latar belakang, apakah aplikasi dapat berjalan di latar belakang tergantung pada apakah izin diaktifkan atau tidak. Untuk Android asli, nonaktifkan \"Pengoptimalan Baterai\" di aplikasi ini, dan untuk miui, ubah kebijakan penghematan daya ke \"Tidak Terbatas\".", "bgRunTip": "Sakelar ini hanya berarti aplikasi akan mencoba berjalan di latar belakang, apakah aplikasi dapat berjalan di latar belakang tergantung pada apakah izin diaktifkan atau tidak. Untuk Android asli, nonaktifkan \"Pengoptimalan Baterai\" di aplikasi ini, dan untuk miui, ubah kebijakan penghematan daya ke \"Tidak Terbatas\".",
"bioAuth": "Biosertifikasi", "bioAuth": "Biosertifikasi",
"browser": "Peramban",
"bulkImportServers": "Impor server secara massal", "bulkImportServers": "Impor server secara massal",
"bulkImportServersTip": "Anda dapat menemukan [format]({url}) di sini.", "bulkImportServersTip": "Anda dapat menemukan [format]({url}) di sini.",
"canPullRefresh": "Anda dapat menarik untuk menyegarkan.", "canPullRefresh": "Anda dapat menarik untuk menyegarkan.",
@@ -127,6 +128,7 @@
"image": "Gambar", "image": "Gambar",
"imagesList": "Daftar gambar", "imagesList": "Daftar gambar",
"import": "Impor", "import": "Impor",
"inAppUpdate": "Perbarui di dalam aplikasi? Jika tidak, unduh menggunakan browser.",
"inner": "Batin", "inner": "Batin",
"inputDomainHere": "Input domain di sini", "inputDomainHere": "Input domain di sini",
"install": "Install", "install": "Install",
@@ -217,6 +219,7 @@
"pwd": "Kata sandi", "pwd": "Kata sandi",
"read": "Baca", "read": "Baca",
"reboot": "Reboot", "reboot": "Reboot",
"rememberChoice": "Ingat pilihan",
"rememberPwdInMem": "Ingat kata sandi di dalam memori", "rememberPwdInMem": "Ingat kata sandi di dalam memori",
"rememberPwdInMemTip": "Digunakan untuk kontainer, menangguhkan, dll.", "rememberPwdInMemTip": "Digunakan untuk kontainer, menangguhkan, dll.",
"remotePath": "Jalur jarak jauh", "remotePath": "Jalur jarak jauh",

View File

@@ -27,6 +27,7 @@
"bgRun": "バックグラウンド実行", "bgRun": "バックグラウンド実行",
"bgRunTip": "このスイッチはプログラムがバックグラウンドで実行を試みることを意味しますが、実際にバックグラウンドで実行できるかどうかは、権限が有効になっているかに依存します。ネイティブAndroidでは、このアプリの「バッテリー最適化」をオフにしてください。MIUIでは、省エネモードを「無制限」に変更してください。", "bgRunTip": "このスイッチはプログラムがバックグラウンドで実行を試みることを意味しますが、実際にバックグラウンドで実行できるかどうかは、権限が有効になっているかに依存します。ネイティブAndroidでは、このアプリの「バッテリー最適化」をオフにしてください。MIUIでは、省エネモードを「無制限」に変更してください。",
"bioAuth": "生体認証", "bioAuth": "生体認証",
"browser": "ブラウザ",
"bulkImportServers": "サーバーを一括インポートする", "bulkImportServers": "サーバーを一括インポートする",
"bulkImportServersTip": "[こちら]({url})でフォーマットを見つけることができます", "bulkImportServersTip": "[こちら]({url})でフォーマットを見つけることができます",
"canPullRefresh": "引っ張って更新できます", "canPullRefresh": "引っ張って更新できます",
@@ -127,6 +128,7 @@
"image": "イメージ", "image": "イメージ",
"imagesList": "イメージリスト", "imagesList": "イメージリスト",
"import": "インポート", "import": "インポート",
"inAppUpdate": "アプリ内で更新しますか?それ以外の場合は、ブラウザを使用してダウンロードしてください。",
"inner": "内蔵", "inner": "内蔵",
"inputDomainHere": "ここにドメインを入力", "inputDomainHere": "ここにドメインを入力",
"install": "インストール", "install": "インストール",
@@ -217,6 +219,7 @@
"pwd": "パスワード", "pwd": "パスワード",
"read": "読み取り", "read": "読み取り",
"reboot": "再起動", "reboot": "再起動",
"rememberChoice": "選択を記憶する",
"rememberPwdInMem": "メモリにパスワードを記憶する", "rememberPwdInMem": "メモリにパスワードを記憶する",
"rememberPwdInMemTip": "コンテナ、一時停止などに使用されます。", "rememberPwdInMemTip": "コンテナ、一時停止などに使用されます。",
"remotePath": "リモートパス", "remotePath": "リモートパス",

View File

@@ -27,6 +27,7 @@
"bgRun": "Uitvoeren op de achtergrond", "bgRun": "Uitvoeren op de achtergrond",
"bgRunTip": "Deze schakelaar betekent alleen dat het programma zal proberen op de achtergrond uit te voeren, of het in de achtergrond kan worden uitgevoerd, hangt af van of de toestemming is ingeschakeld of niet. Voor native Android, schakel \"Batterijoptimalisatie\" uit in deze app, en voor miui, wijzig de energiebesparingsbeleid naar \"Onbeperkt\".", "bgRunTip": "Deze schakelaar betekent alleen dat het programma zal proberen op de achtergrond uit te voeren, of het in de achtergrond kan worden uitgevoerd, hangt af van of de toestemming is ingeschakeld of niet. Voor native Android, schakel \"Batterijoptimalisatie\" uit in deze app, en voor miui, wijzig de energiebesparingsbeleid naar \"Onbeperkt\".",
"bioAuth": "Biometrische authenticatie", "bioAuth": "Biometrische authenticatie",
"browser": "Browser",
"bulkImportServers": "Servers batchgewijs importeren", "bulkImportServers": "Servers batchgewijs importeren",
"bulkImportServersTip": "U kunt het [formaat]({url}) hier vinden.", "bulkImportServersTip": "U kunt het [formaat]({url}) hier vinden.",
"canPullRefresh": "Je kunt verversen door te slepen.", "canPullRefresh": "Je kunt verversen door te slepen.",
@@ -127,6 +128,7 @@
"image": "Afbeelding", "image": "Afbeelding",
"imagesList": "Lijst met afbeeldingen", "imagesList": "Lijst met afbeeldingen",
"import": "Importeren", "import": "Importeren",
"inAppUpdate": "Bijwerken binnen de app? Anders downloaden via een browser.",
"inner": "Intern", "inner": "Intern",
"inputDomainHere": "Voer hier domein in", "inputDomainHere": "Voer hier domein in",
"install": "Installeren", "install": "Installeren",
@@ -216,6 +218,7 @@
"pwd": "Wachtwoord", "pwd": "Wachtwoord",
"read": "Lezen", "read": "Lezen",
"reboot": "Herstart", "reboot": "Herstart",
"rememberChoice": "Selectie onthouden",
"rememberPwdInMem": "Wachtwoord onthouden in geheugen", "rememberPwdInMem": "Wachtwoord onthouden in geheugen",
"rememberPwdInMemTip": "Gebruikt voor containers, opschorting, enz.", "rememberPwdInMemTip": "Gebruikt voor containers, opschorting, enz.",
"remotePath": "Extern pad", "remotePath": "Extern pad",

View File

@@ -27,6 +27,7 @@
"bgRun": "Execução em segundo plano", "bgRun": "Execução em segundo plano",
"bgRunTip": "Este interruptor indica que o programa tentará rodar em segundo plano, mas a capacidade de fazer isso depende das permissões concedidas. No Android nativo, desative a 'Otimização de bateria' para este app, no MIUI, altere a estratégia de economia de energia para 'Sem restrições'.", "bgRunTip": "Este interruptor indica que o programa tentará rodar em segundo plano, mas a capacidade de fazer isso depende das permissões concedidas. No Android nativo, desative a 'Otimização de bateria' para este app, no MIUI, altere a estratégia de economia de energia para 'Sem restrições'.",
"bioAuth": "Autenticação biométrica", "bioAuth": "Autenticação biométrica",
"browser": "Navegador",
"bulkImportServers": "Importar servidores em lote", "bulkImportServers": "Importar servidores em lote",
"bulkImportServersTip": "Você pode encontrar o [formato]({url}) aqui.", "bulkImportServersTip": "Você pode encontrar o [formato]({url}) aqui.",
"canPullRefresh": "Pode puxar para atualizar", "canPullRefresh": "Pode puxar para atualizar",
@@ -127,6 +128,7 @@
"image": "Imagem", "image": "Imagem",
"imagesList": "Lista de imagens", "imagesList": "Lista de imagens",
"import": "Importar", "import": "Importar",
"inAppUpdate": "Atualizar dentro do app? Caso contrário, baixe usando um navegador.",
"inner": "Interno", "inner": "Interno",
"inputDomainHere": "Insira o domínio aqui", "inputDomainHere": "Insira o domínio aqui",
"install": "Instalar", "install": "Instalar",
@@ -217,6 +219,7 @@
"pwd": "Senha", "pwd": "Senha",
"read": "Leitura", "read": "Leitura",
"reboot": "Reiniciar", "reboot": "Reiniciar",
"rememberChoice": "Lembrar da seleção",
"rememberPwdInMem": "Lembrar senha na memória", "rememberPwdInMem": "Lembrar senha na memória",
"rememberPwdInMemTip": "Usado para contêineres, suspensão, etc.", "rememberPwdInMemTip": "Usado para contêineres, suspensão, etc.",
"remotePath": "Caminho remoto", "remotePath": "Caminho remoto",

View File

@@ -27,6 +27,7 @@
"bgRun": "работа в фоновом режиме", "bgRun": "работа в фоновом режиме",
"bgRunTip": "Этот переключатель означает, что программа будет пытаться работать в фоновом режиме, но фактическое выполнение зависит от того, включено ли разрешение. Для нативного Android отключите «Оптимизацию батареи» для этого приложения, для MIUI измените стратегию энергосбережения на «Без ограничений».", "bgRunTip": "Этот переключатель означает, что программа будет пытаться работать в фоновом режиме, но фактическое выполнение зависит от того, включено ли разрешение. Для нативного Android отключите «Оптимизацию батареи» для этого приложения, для MIUI измените стратегию энергосбережения на «Без ограничений».",
"bioAuth": "биометрическая аутентификация", "bioAuth": "биометрическая аутентификация",
"browser": "Браузер",
"bulkImportServers": "Пакетный импорт серверов", "bulkImportServers": "Пакетный импорт серверов",
"bulkImportServersTip": "[Формат]({url}) можно найти здесь.", "bulkImportServersTip": "[Формат]({url}) можно найти здесь.",
"canPullRefresh": "можно обновить, потянув вниз", "canPullRefresh": "можно обновить, потянув вниз",
@@ -127,6 +128,7 @@
"image": "образ", "image": "образ",
"imagesList": "список образов", "imagesList": "список образов",
"import": "импорт", "import": "импорт",
"inAppUpdate": "Обновить в приложении? В противном случае загрузите с помощью браузера.",
"inner": "встроенный", "inner": "встроенный",
"inputDomainHere": "введите домен здесь", "inputDomainHere": "введите домен здесь",
"install": "установить", "install": "установить",
@@ -217,6 +219,7 @@
"pwd": "пароль", "pwd": "пароль",
"read": "чтение", "read": "чтение",
"reboot": "перезагрузка", "reboot": "перезагрузка",
"rememberChoice": "Запомнить выбор",
"rememberPwdInMem": "Запомнить пароль в памяти", "rememberPwdInMem": "Запомнить пароль в памяти",
"rememberPwdInMemTip": "Используется для контейнеров, приостановки и т. д.", "rememberPwdInMemTip": "Используется для контейнеров, приостановки и т. д.",
"remotePath": "удаленный путь", "remotePath": "удаленный путь",

View File

@@ -27,6 +27,7 @@
"bgRun": "后台运行", "bgRun": "后台运行",
"bgRunTip": "此开关只代表程序会尝试在后台运行,具体能否后台运行取决于是否开启了权限。原生 Android 请关闭本 App 的“电池优化”MIUI 请修改省电策略为“无限制”。", "bgRunTip": "此开关只代表程序会尝试在后台运行,具体能否后台运行取决于是否开启了权限。原生 Android 请关闭本 App 的“电池优化”MIUI 请修改省电策略为“无限制”。",
"bioAuth": "生物认证", "bioAuth": "生物认证",
"browser": "浏览器",
"bulkImportServers": "批量导入服务器", "bulkImportServers": "批量导入服务器",
"bulkImportServersTip": "可以在这里找到[格式]({url})", "bulkImportServersTip": "可以在这里找到[格式]({url})",
"canPullRefresh": "可以下拉刷新", "canPullRefresh": "可以下拉刷新",
@@ -127,6 +128,7 @@
"image": "镜像", "image": "镜像",
"imagesList": "镜像列表", "imagesList": "镜像列表",
"import": "导入", "import": "导入",
"inAppUpdate": "在App内更新否则使用浏览器下载",
"inner": "内置", "inner": "内置",
"inputDomainHere": "在这里输入域名", "inputDomainHere": "在这里输入域名",
"install": "安装", "install": "安装",
@@ -217,6 +219,7 @@
"pwd": "密码", "pwd": "密码",
"read": "读", "read": "读",
"reboot": "重启", "reboot": "重启",
"rememberChoice": "记住选择",
"rememberPwdInMem": "在内存中记住密码", "rememberPwdInMem": "在内存中记住密码",
"rememberPwdInMemTip": "用于容器、挂起等", "rememberPwdInMemTip": "用于容器、挂起等",
"remotePath": "远端路径", "remotePath": "远端路径",

View File

@@ -27,6 +27,7 @@
"bgRun": "背景運行", "bgRun": "背景運行",
"bgRunTip": "此開關只代表程式會嘗試在背景執行,具體能否背景運行取決於是否開啟了權限。 原生 Android 請關閉本 App 的“電池優化”MIUI 請修改省電策略為“無限制”。", "bgRunTip": "此開關只代表程式會嘗試在背景執行,具體能否背景運行取決於是否開啟了權限。 原生 Android 請關閉本 App 的“電池優化”MIUI 請修改省電策略為“無限制”。",
"bioAuth": "生物認證", "bioAuth": "生物認證",
"browser": "瀏覽器",
"bulkImportServers": "批量導入伺服器", "bulkImportServers": "批量導入伺服器",
"bulkImportServersTip": "您可以在此處找到[格式]({url})", "bulkImportServersTip": "您可以在此處找到[格式]({url})",
"canPullRefresh": "可以下拉更新", "canPullRefresh": "可以下拉更新",
@@ -127,6 +128,7 @@
"image": "鏡像", "image": "鏡像",
"imagesList": "鏡像列表", "imagesList": "鏡像列表",
"import": "導入", "import": "導入",
"inAppUpdate": "在App內更新否則使用瀏覽器下載。",
"inner": "內置", "inner": "內置",
"inputDomainHere": "在這裡輸入域名", "inputDomainHere": "在這裡輸入域名",
"install": "安裝", "install": "安裝",
@@ -217,6 +219,7 @@
"pwd": "密碼", "pwd": "密碼",
"read": "读", "read": "读",
"reboot": "重启", "reboot": "重启",
"rememberChoice": "記住選擇",
"rememberPwdInMem": "在記憶體中記住密碼", "rememberPwdInMem": "在記憶體中記住密碼",
"rememberPwdInMemTip": "用於容器、暫停等", "rememberPwdInMemTip": "用於容器、暫停等",
"remotePath": "遠端路徑", "remotePath": "遠端路徑",

View File

@@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_highlight/theme_map.dart'; import 'package:flutter_highlight/theme_map.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:toolbox/core/build_mode.dart';
import 'package:toolbox/core/extension/colorx.dart'; import 'package:toolbox/core/extension/colorx.dart';
import 'package:toolbox/core/extension/context/common.dart'; import 'package:toolbox/core/extension/context/common.dart';
import 'package:toolbox/core/extension/context/locale.dart'; import 'package:toolbox/core/extension/context/locale.dart';
@@ -205,7 +206,9 @@ class _SettingPageState extends State<SettingPage> {
return ListTile( return ListTile(
title: Text(l10n.autoCheckUpdate), title: Text(l10n.autoCheckUpdate),
subtitle: Text(display, style: UIs.textGrey), subtitle: Text(display, style: UIs.textGrey),
onTap: () => Funcs.throttle(() => doUpdate(ctx)), onTap: () => Funcs.throttle(
() => doUpdate(ctx, force: BuildMode.isDebug),
),
trailing: StoreSwitch(prop: _setting.autoCheckAppUpdate), trailing: StoreSwitch(prop: _setting.autoCheckAppUpdate),
); );
}, },

View File

@@ -471,7 +471,7 @@
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 852; CURRENT_PROJECT_VERSION = 859;
DEVELOPMENT_TEAM = BA88US33G6; DEVELOPMENT_TEAM = BA88US33G6;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "Server Box"; INFOPLIST_KEY_CFBundleDisplayName = "Server Box";
@@ -481,7 +481,7 @@
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
MACOSX_DEPLOYMENT_TARGET = 10.15; MACOSX_DEPLOYMENT_TARGET = 10.15;
MARKETING_VERSION = 1.0.852; MARKETING_VERSION = 1.0.859;
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
PRODUCT_NAME = "Server Box"; PRODUCT_NAME = "Server Box";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
@@ -608,7 +608,7 @@
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 852; CURRENT_PROJECT_VERSION = 859;
DEVELOPMENT_TEAM = BA88US33G6; DEVELOPMENT_TEAM = BA88US33G6;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "Server Box"; INFOPLIST_KEY_CFBundleDisplayName = "Server Box";
@@ -618,7 +618,7 @@
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
MACOSX_DEPLOYMENT_TARGET = 10.15; MACOSX_DEPLOYMENT_TARGET = 10.15;
MARKETING_VERSION = 1.0.852; MARKETING_VERSION = 1.0.859;
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
PRODUCT_NAME = "Server Box"; PRODUCT_NAME = "Server Box";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
@@ -638,7 +638,7 @@
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application";
CODE_SIGN_STYLE = Manual; CODE_SIGN_STYLE = Manual;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 852; CURRENT_PROJECT_VERSION = 859;
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=macosx*]" = BA88US33G6; "DEVELOPMENT_TEAM[sdk=macosx*]" = BA88US33G6;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
@@ -649,7 +649,7 @@
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
MACOSX_DEPLOYMENT_TARGET = 10.15; MACOSX_DEPLOYMENT_TARGET = 10.15;
MARKETING_VERSION = 1.0.852; MARKETING_VERSION = 1.0.859;
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
PRODUCT_NAME = "Server Box"; PRODUCT_NAME = "Server Box";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";