Fixes for the iOS #483

Merged
inex merged 6 commits from ios-fixes into master 2024-03-13 18:49:59 +02:00
30 changed files with 201 additions and 177 deletions

View File

@ -11,17 +11,15 @@ PODS:
- Flutter - Flutter
- package_info (0.0.1): - package_info (0.0.1):
- Flutter - Flutter
- path_provider_ios (0.0.1): - path_provider_foundation (0.0.1):
- Flutter - Flutter
- FlutterMacOS
- ReachabilitySwift (5.0.0) - ReachabilitySwift (5.0.0)
- share_plus (0.0.1): - shared_preferences_foundation (0.0.1):
- Flutter
- shared_preferences_ios (0.0.1):
- Flutter - Flutter
- FlutterMacOS
- url_launcher_ios (0.0.1): - url_launcher_ios (0.0.1):
- Flutter - Flutter
- wakelock (0.0.1):
- Flutter
DEPENDENCIES: DEPENDENCIES:
- connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`) - connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`)
@ -30,11 +28,9 @@ DEPENDENCIES:
- flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`) - flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`)
- local_auth_ios (from `.symlinks/plugins/local_auth_ios/ios`) - local_auth_ios (from `.symlinks/plugins/local_auth_ios/ios`)
- package_info (from `.symlinks/plugins/package_info/ios`) - package_info (from `.symlinks/plugins/package_info/ios`)
- path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`) - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
- share_plus (from `.symlinks/plugins/share_plus/ios`) - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
- shared_preferences_ios (from `.symlinks/plugins/shared_preferences_ios/ios`)
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
- wakelock (from `.symlinks/plugins/wakelock/ios`)
SPEC REPOS: SPEC REPOS:
trunk: trunk:
@ -53,31 +49,25 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/local_auth_ios/ios" :path: ".symlinks/plugins/local_auth_ios/ios"
package_info: package_info:
:path: ".symlinks/plugins/package_info/ios" :path: ".symlinks/plugins/package_info/ios"
path_provider_ios: path_provider_foundation:
:path: ".symlinks/plugins/path_provider_ios/ios" :path: ".symlinks/plugins/path_provider_foundation/darwin"
share_plus: shared_preferences_foundation:
:path: ".symlinks/plugins/share_plus/ios" :path: ".symlinks/plugins/shared_preferences_foundation/darwin"
shared_preferences_ios:
:path: ".symlinks/plugins/shared_preferences_ios/ios"
url_launcher_ios: url_launcher_ios:
:path: ".symlinks/plugins/url_launcher_ios/ios" :path: ".symlinks/plugins/url_launcher_ios/ios"
wakelock:
:path: ".symlinks/plugins/wakelock/ios"
SPEC CHECKSUMS: SPEC CHECKSUMS:
connectivity_plus: 413a8857dd5d9f1c399a39130850d02fe0feaf7e connectivity_plus: bf0076dd84a130856aa636df1c71ccaff908fa1d
device_info_plus: e5c5da33f982a436e103237c0c85f9031142abed device_info_plus: c6fb39579d0f423935b0c9ce7ee2f44b71b9fce6
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be
local_auth_ios: 0d333dde7780f669e66f19d2ff6005f3ea84008d local_auth_ios: c6cf091ded637a88f24f86a8875d8b0f526e2605
package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62 package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62
path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02 path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68 shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126
shared_preferences_ios: 548a61f8053b9b8a49ac19c1ffbc8b92c50d68ad url_launcher_ios: bf5ce03e0e2088bad9cc378ea97fa0ed5b49673b
url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de
wakelock: d0fc7c864128eac40eba1617cb5264d9c940b46f
PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3 PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3
COCOAPODS: 1.11.3 COCOAPODS: 1.15.2

View File

@ -3,7 +3,7 @@
archiveVersion = 1; archiveVersion = 1;
classes = { classes = {
}; };
objectVersion = 51; objectVersion = 54;
objects = { objects = {
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
@ -159,7 +159,7 @@
97C146E61CF9000F007C117D /* Project object */ = { 97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
LastUpgradeCheck = 1300; LastUpgradeCheck = 1430;
ORGANIZATIONNAME = ""; ORGANIZATIONNAME = "";
TargetAttributes = { TargetAttributes = {
97C146ED1CF9000F007C117D = { 97C146ED1CF9000F007C117D = {
@ -203,10 +203,12 @@
/* Begin PBXShellScriptBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
); );
inputPaths = ( inputPaths = (
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
); );
name = "Thin Binary"; name = "Thin Binary";
outputPaths = ( outputPaths = (
@ -239,6 +241,7 @@
}; };
9740EEB61CF901F6004384FC /* Run Script */ = { 9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
); );
@ -360,14 +363,14 @@
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = 46723VZHWZ; DEVELOPMENT_TEAM = P2P92N48K5;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
PRODUCT_BUNDLE_IDENTIFIER = org.selfprivacy.selfprivacy; PRODUCT_BUNDLE_IDENTIFIER = org.selfprivacy.app;
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";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
@ -490,14 +493,14 @@
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = 46723VZHWZ; DEVELOPMENT_TEAM = P2P92N48K5;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
PRODUCT_BUNDLE_IDENTIFIER = org.selfprivacy.selfprivacy; PRODUCT_BUNDLE_IDENTIFIER = org.selfprivacy.app;
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";
SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@ -514,14 +517,14 @@
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = 46723VZHWZ; DEVELOPMENT_TEAM = P2P92N48K5;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
PRODUCT_BUNDLE_IDENTIFIER = org.selfprivacy.selfprivacy; PRODUCT_BUNDLE_IDENTIFIER = org.selfprivacy.app;
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";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Scheme <Scheme
LastUpgradeVersion = "1300" LastUpgradeVersion = "1430"
version = "1.3"> version = "1.3">
<BuildAction <BuildAction
parallelizeBuildables = "YES" parallelizeBuildables = "YES"

View File

@ -2,6 +2,8 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string> <string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
@ -24,6 +26,8 @@
<string>$(FLUTTER_BUILD_NUMBER)</string> <string>$(FLUTTER_BUILD_NUMBER)</string>
<key>LSRequiresIPhoneOS</key> <key>LSRequiresIPhoneOS</key>
<true/> <true/>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
<key>UILaunchStoryboardName</key> <key>UILaunchStoryboardName</key>
<string>LaunchScreen</string> <string>LaunchScreen</string>
<key>UIMainStoryboardFile</key> <key>UIMainStoryboardFile</key>
@ -43,9 +47,5 @@
</array> </array>
<key>UIViewControllerBasedStatusBarAppearance</key> <key>UIViewControllerBasedStatusBarAppearance</key>
<false/> <false/>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
</dict> </dict>
</plist> </plist>

View File

@ -1,4 +1,7 @@
import 'dart:io';
import 'package:auto_route/auto_route.dart'; import 'package:auto_route/auto_route.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:selfprivacy/ui/components/drawers/support_drawer.dart'; import 'package:selfprivacy/ui/components/drawers/support_drawer.dart';
import 'package:selfprivacy/ui/components/pre_styled_buttons/flash_fab.dart'; import 'package:selfprivacy/ui/components/pre_styled_buttons/flash_fab.dart';
@ -199,21 +202,36 @@ class _BottomBar extends StatelessWidget {
decoration: BoxDecoration( decoration: BoxDecoration(
color: Theme.of(context).scaffoldBackgroundColor, color: Theme.of(context).scaffoldBackgroundColor,
), ),
child: NavigationBar( child: Platform.isIOS
selectedIndex: prevActiveIndex == -1 ? 0 : prevActiveIndex, ? CupertinoTabBar(
labelBehavior: NavigationDestinationLabelBehavior.alwaysShow, currentIndex: prevActiveIndex == -1 ? 0 : prevActiveIndex,
onDestinationSelected: (final index) { onTap: (final index) {
context.router.replaceAll([destinations[index].route]); context.router.replaceAll([destinations[index].route]);
}, },
destinations: destinations items: destinations
.map( .map(
(final destination) => NavigationDestination( (final destination) => BottomNavigationBarItem(
icon: Icon(destination.icon), icon: Icon(destination.icon),
label: destination.label, label: destination.label,
), ),
)
.toList(),
) )
.toList(), : NavigationBar(
), selectedIndex: prevActiveIndex == -1 ? 0 : prevActiveIndex,
labelBehavior: NavigationDestinationLabelBehavior.alwaysShow,
onDestinationSelected: (final index) {
context.router.replaceAll([destinations[index].route]);
},
destinations: destinations
.map(
(final destination) => NavigationDestination(
icon: Icon(destination.icon),
label: destination.label,
),
)
.toList(),
),
); );
} }
} }

View File

@ -67,7 +67,7 @@ class BackupDetailsPage extends StatelessWidget {
const Center( const Center(
child: Padding( child: Padding(
padding: EdgeInsets.all(16.0), padding: EdgeInsets.all(16.0),
child: CircularProgressIndicator(), child: CircularProgressIndicator.adaptive(),
), ),
), ),
if (!preventActions) if (!preventActions)

View File

@ -53,7 +53,7 @@ class _ChangeAutobackupsPeriodModalState
), ),
const SizedBox(height: 16), const SizedBox(height: 16),
// Select all services tile // Select all services tile
RadioListTile<Duration?>( RadioListTile<Duration?>.adaptive(
onChanged: (final Duration? value) { onChanged: (final Duration? value) {
setState(() { setState(() {
selectedPeriod = value; selectedPeriod = value;
@ -69,7 +69,7 @@ class _ChangeAutobackupsPeriodModalState
height: 1.0, height: 1.0,
), ),
...autobackupPeriods.map( ...autobackupPeriods.map(
(final Duration period) => RadioListTile<Duration?>( (final Duration period) => RadioListTile<Duration?>.adaptive(
onChanged: (final Duration? value) { onChanged: (final Duration? value) {
setState(() { setState(() {
selectedPeriod = value; selectedPeriod = value;

View File

@ -232,7 +232,7 @@ class QuotaSelectionTile extends StatelessWidget {
children: [ children: [
// Discrete slider to select the new value // Discrete slider to select the new value
if (value >= -1 && value <= max) if (value >= -1 && value <= max)
Slider( Slider.adaptive(
value: value == -1 ? max + 1 : value.toDouble(), value: value == -1 ? max + 1 : value.toDouble(),
min: min.toDouble(), min: min.toDouble(),
max: (max + 1).toDouble(), max: (max + 1).toDouble(),

View File

@ -71,7 +71,7 @@ class _CreateBackupsModalState extends State<CreateBackupsModal> {
), ),
const SizedBox(height: 16), const SizedBox(height: 16),
// Select all services tile // Select all services tile
CheckboxListTile( CheckboxListTile.adaptive(
onChanged: (final bool? value) { onChanged: (final bool? value) {
setState(() { setState(() {
if (value ?? true) { if (value ?? true) {
@ -103,7 +103,7 @@ class _CreateBackupsModalState extends State<CreateBackupsModal> {
...widget.services.map( ...widget.services.map(
(final Service service) { (final Service service) {
final bool busy = busyServices.contains(service.id); final bool busy = busyServices.contains(service.id);
return CheckboxListTile( return CheckboxListTile.adaptive(
onChanged: !busy onChanged: !busy
? (final bool? value) { ? (final bool? value) {
setState(() { setState(() {

View File

@ -36,7 +36,7 @@ class _DevicesScreenState extends State<DevicesScreen> {
if (devicesStatus is DevicesInitial) ...[ if (devicesStatus is DevicesInitial) ...[
const Center( const Center(
heightFactor: 8, heightFactor: 8,
child: CircularProgressIndicator(), child: CircularProgressIndicator.adaptive(),
), ),
], ],
if (devicesStatus is! DevicesInitial) ...[ if (devicesStatus is! DevicesInitial) ...[
@ -94,7 +94,7 @@ class _DevicesInfo extends StatelessWidget {
if (devicesStatus is DevicesDeleting) ...[ if (devicesStatus is DevicesDeleting) ...[
const Center( const Center(
heightFactor: 4, heightFactor: 4,
child: CircularProgressIndicator(), child: CircularProgressIndicator.adaptive(),
), ),
], ],
if (devicesStatus is! DevicesDeleting) if (devicesStatus is! DevicesDeleting)

View File

@ -27,7 +27,9 @@ class NewDeviceScreen extends StatelessWidget {
newDeviceKey: snapshot.data.toString(), newDeviceKey: snapshot.data.toString(),
); );
} else { } else {
return const Center(child: CircularProgressIndicator()); return const Center(
child: CircularProgressIndicator.adaptive(),
);
} }
}, },
), ),

View File

@ -31,7 +31,7 @@ class _AppSettingsPageState extends State<AppSettingsPage> {
bodyPadding: const EdgeInsets.symmetric(vertical: 16), bodyPadding: const EdgeInsets.symmetric(vertical: 16),
heroTitle: 'application_settings.title'.tr(), heroTitle: 'application_settings.title'.tr(),
children: [ children: [
SwitchListTile( SwitchListTile.adaptive(
title: Text('application_settings.system_dark_theme_title'.tr()), title: Text('application_settings.system_dark_theme_title'.tr()),
subtitle: subtitle:
Text('application_settings.system_dark_theme_description'.tr()), Text('application_settings.system_dark_theme_description'.tr()),
@ -40,7 +40,7 @@ class _AppSettingsPageState extends State<AppSettingsPage> {
.read<AppSettingsCubit>() .read<AppSettingsCubit>()
.updateAutoDarkMode(isAutoDarkModeOn: !isSystemDarkModeOn), .updateAutoDarkMode(isAutoDarkModeOn: !isSystemDarkModeOn),
), ),
SwitchListTile( SwitchListTile.adaptive(
title: Text('application_settings.dark_theme_title'.tr()), title: Text('application_settings.dark_theme_title'.tr()),
subtitle: Text('application_settings.dark_theme_description'.tr()), subtitle: Text('application_settings.dark_theme_description'.tr()),
value: Theme.of(context).brightness == Brightness.dark, value: Theme.of(context).brightness == Brightness.dark,

View File

@ -28,7 +28,7 @@ class _DeveloperSettingsPageState extends State<DeveloperSettingsPage> {
heroSubtitle: 'developer_settings.subtitle'.tr(), heroSubtitle: 'developer_settings.subtitle'.tr(),
children: [ children: [
SectionTitle(title: 'developer_settings.server_setup'.tr()), SectionTitle(title: 'developer_settings.server_setup'.tr()),
SwitchListTile( SwitchListTile.adaptive(
title: Text('developer_settings.use_staging_acme'.tr()), title: Text('developer_settings.use_staging_acme'.tr()),
subtitle: subtitle:
Text('developer_settings.use_staging_acme_description'.tr()), Text('developer_settings.use_staging_acme_description'.tr()),
@ -37,7 +37,7 @@ class _DeveloperSettingsPageState extends State<DeveloperSettingsPage> {
() => TlsOptions.stagingAcme = value, () => TlsOptions.stagingAcme = value,
), ),
), ),
SwitchListTile( SwitchListTile.adaptive(
title: Text('developer_settings.ignore_tls'.tr()), title: Text('developer_settings.ignore_tls'.tr()),
subtitle: Text('developer_settings.ignore_tls_description'.tr()), subtitle: Text('developer_settings.ignore_tls_description'.tr()),
value: !TlsOptions.verifyCertificate, value: !TlsOptions.verifyCertificate,
@ -45,7 +45,7 @@ class _DeveloperSettingsPageState extends State<DeveloperSettingsPage> {
() => TlsOptions.verifyCertificate = !value, () => TlsOptions.verifyCertificate = !value,
), ),
), ),
SwitchListTile( SwitchListTile.adaptive(
title: Text('developer_settings.allow_ssh_key_at_setup'.tr()), title: Text('developer_settings.allow_ssh_key_at_setup'.tr()),
subtitle: Text( subtitle: Text(
'developer_settings.allow_ssh_key_at_setup_description'.tr(), 'developer_settings.allow_ssh_key_at_setup_description'.tr(),

View File

@ -96,7 +96,7 @@ class _ConsolePageState extends State<ConsolePage> {
children: [ children: [
Text('console_page.waiting'.tr()), Text('console_page.waiting'.tr()),
const Gap(16), const Gap(16),
const CircularProgressIndicator(), const CircularProgressIndicator.adaptive(),
], ],
); );
} }

View File

@ -1,6 +1,7 @@
import 'package:auto_route/auto_route.dart'; import 'package:auto_route/auto_route.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:gap/gap.dart';
import 'package:selfprivacy/config/brand_theme.dart'; import 'package:selfprivacy/config/brand_theme.dart';
import 'package:selfprivacy/logic/bloc/backups/backups_bloc.dart'; import 'package:selfprivacy/logic/bloc/backups/backups_bloc.dart';
import 'package:selfprivacy/logic/bloc/volumes/volumes_bloc.dart'; import 'package:selfprivacy/logic/bloc/volumes/volumes_bloc.dart';
@ -146,20 +147,18 @@ class _Card extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
Row( IconStatusMask(
children: [ status: state,
IconStatusMask( icon: Icon(icon, size: 30, color: Colors.white),
status: state, ),
icon: Icon(icon, size: 30, color: Colors.white), const Gap(8),
), Expanded(
const SizedBox(width: 8), child: Text(
Text( title,
title, style: Theme.of(context).textTheme.headlineMedium,
style: Theme.of(context).textTheme.headlineMedium, ),
),
],
), ),
if (state != StateType.uninitialized) if (state != StateType.uninitialized)
IconStatusMask( IconStatusMask(

View File

@ -32,7 +32,7 @@ class _RecoveryKeyPageState extends State<RecoveryKeyPage> {
case RecoveryKeyRefreshing(): case RecoveryKeyRefreshing():
subtitle = 'recovery_key.key_synchronizing'.tr(); subtitle = 'recovery_key.key_synchronizing'.tr();
widgets = [ widgets = [
const Center(child: CircularProgressIndicator()), const Center(child: CircularProgressIndicator.adaptive()),
]; ];
break; break;
case RecoveryKeyLoaded(): case RecoveryKeyLoaded():
@ -306,7 +306,7 @@ class _RecoveryKeyConfigurationState extends State<RecoveryKeyConfiguration> {
return Column( return Column(
children: [ children: [
SwitchListTile( SwitchListTile.adaptive(
value: _isAmountToggled, value: _isAmountToggled,
title: Text('recovery_key.key_amount_toggle'.tr()), title: Text('recovery_key.key_amount_toggle'.tr()),
activeColor: Theme.of(context).colorScheme.primary, activeColor: Theme.of(context).colorScheme.primary,
@ -346,7 +346,7 @@ class _RecoveryKeyConfigurationState extends State<RecoveryKeyConfiguration> {
), ),
secondChild: Container(), secondChild: Container(),
), ),
SwitchListTile( SwitchListTile.adaptive(
value: _isExpirationToggled, value: _isExpirationToggled,
title: Text('recovery_key.key_duedate_toggle'.tr()), title: Text('recovery_key.key_duedate_toggle'.tr()),
activeColor: Theme.of(context).colorScheme.primary, activeColor: Theme.of(context).colorScheme.primary,

View File

@ -48,23 +48,38 @@ class _Chart extends StatelessWidget {
children: [ children: [
Row( Row(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Text( Flexible(
'resource_chart.network_title'.tr(), child: Text(
style: Theme.of(context).textTheme.titleMedium?.copyWith( 'resource_chart.network_title'.tr(),
color: style:
Theme.of(context).colorScheme.onSurfaceVariant, Theme.of(context).textTheme.titleMedium?.copyWith(
color: Theme.of(context)
.colorScheme
.onSurfaceVariant,
),
),
),
Flexible(
fit: FlexFit.loose,
child: Wrap(
spacing: 8.0,
runSpacing: 8.0,
alignment: WrapAlignment.end,
runAlignment: WrapAlignment.end,
children: [
Legend(
color: Theme.of(context).colorScheme.primary,
text: 'resource_chart.in'.tr(),
), ),
), Legend(
const Spacer(), color: Theme.of(context).colorScheme.tertiary,
Legend( text: 'resource_chart.out'.tr(),
color: Theme.of(context).colorScheme.primary, ),
text: 'resource_chart.in'.tr(), ],
), ),
const SizedBox(width: 5),
Legend(
color: Theme.of(context).colorScheme.tertiary,
text: 'resource_chart.out'.tr(),
), ),
], ],
), ),
@ -156,7 +171,7 @@ class _GraphLoadingCardContent extends StatelessWidget {
@override @override
Widget build(final BuildContext context) => const SizedBox( Widget build(final BuildContext context) => const SizedBox(
height: 200, height: 200,
child: Center(child: CircularProgressIndicator()), child: Center(child: CircularProgressIndicator.adaptive()),
); );
} }
@ -172,6 +187,7 @@ class Legend extends StatelessWidget {
@override @override
Widget build(final BuildContext context) => Row( Widget build(final BuildContext context) => Row(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
mainAxisSize: MainAxisSize.min,
children: [ children: [
_ColoredBox(color: color), _ColoredBox(color: color),
const SizedBox(width: 5), const SizedBox(width: 5),

View File

@ -34,7 +34,7 @@ class _ServerSettingsState extends State<_ServerSettings> {
return Column( return Column(
children: [ children: [
SwitchListTile( SwitchListTile.adaptive(
value: allowAutoUpgrade ?? false, value: allowAutoUpgrade ?? false,
onChanged: (final switched) { onChanged: (final switched) {
context.read<JobsCubit>().addJob( context.read<JobsCubit>().addJob(
@ -67,7 +67,7 @@ class _ServerSettingsState extends State<_ServerSettings> {
), ),
activeColor: Theme.of(context).colorScheme.primary, activeColor: Theme.of(context).colorScheme.primary,
), ),
SwitchListTile( SwitchListTile.adaptive(
value: rebootAfterUpgrade ?? false, value: rebootAfterUpgrade ?? false,
onChanged: (final switched) { onChanged: (final switched) {
context.read<JobsCubit>().addJob( context.read<JobsCubit>().addJob(
@ -113,7 +113,7 @@ class _ServerSettingsState extends State<_ServerSettings> {
); );
}, },
), ),
SwitchListTile( SwitchListTile.adaptive(
value: enableSsh ?? true, value: enableSsh ?? true,
onChanged: (final switched) { onChanged: (final switched) {
context.read<JobsCubit>().addJob( context.read<JobsCubit>().addJob(
@ -145,7 +145,7 @@ class _ServerSettingsState extends State<_ServerSettings> {
), ),
activeColor: Theme.of(context).colorScheme.primary, activeColor: Theme.of(context).colorScheme.primary,
), ),
SwitchListTile( SwitchListTile.adaptive(
value: allowPasswordAuthentication ?? false, value: allowPasswordAuthentication ?? false,
onChanged: (final switched) { onChanged: (final switched) {
context.read<JobsCubit>().addJob( context.read<JobsCubit>().addJob(

View File

@ -147,7 +147,7 @@ class _ServicesMigrationPageState extends State<ServicesMigrationPage> {
padding: const EdgeInsets.all(16.0), padding: const EdgeInsets.all(16.0),
children: <Widget>[ children: <Widget>[
if (widget.services.isEmpty) if (widget.services.isEmpty)
const Center(child: CircularProgressIndicator()), const Center(child: CircularProgressIndicator.adaptive()),
...widget.services.map( ...widget.services.map(
(final service) => Column( (final service) => Column(
children: [ children: [

View File

@ -71,7 +71,7 @@ class _ExtendingVolumePageState extends State<ExtendingVolumePage> {
children: const [ children: const [
SizedBox(height: 16), SizedBox(height: 16),
Center( Center(
child: CircularProgressIndicator(), child: CircularProgressIndicator.adaptive(),
), ),
], ],
); );

View File

@ -59,21 +59,23 @@ class StorageCard extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Column( Expanded(
crossAxisAlignment: CrossAxisAlignment.start, child: Column(
children: [ crossAxisAlignment: CrossAxisAlignment.start,
Text( children: [
'storage.card_title'.tr(),
style: Theme.of(context).textTheme.titleLarge,
),
if (state != StateType.uninitialized)
Text( Text(
diskStatus.isDiskOkay 'storage.card_title'.tr(),
? 'storage.status_ok'.tr() style: Theme.of(context).textTheme.titleLarge,
: 'storage.status_error'.tr(),
style: Theme.of(context).textTheme.bodyLarge,
), ),
], if (state != StateType.uninitialized)
Text(
diskStatus.isDiskOkay
? 'storage.status_ok'.tr()
: 'storage.status_error'.tr(),
style: Theme.of(context).textTheme.bodyLarge,
),
],
),
), ),
if (state != StateType.uninitialized) if (state != StateType.uninitialized)
IconStatusMask( IconStatusMask(

View File

@ -33,7 +33,7 @@ class _ServicePageState extends State<ServicePage> {
hasBackButton: true, hasBackButton: true,
children: [ children: [
Center( Center(
child: CircularProgressIndicator(), child: CircularProgressIndicator.adaptive(),
), ),
], ],
); );

View File

@ -2,6 +2,7 @@ import 'package:auto_route/auto_route.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:gap/gap.dart';
import 'package:selfprivacy/config/brand_theme.dart'; import 'package:selfprivacy/config/brand_theme.dart';
import 'package:selfprivacy/logic/bloc/services/services_bloc.dart'; import 'package:selfprivacy/logic/bloc/services/services_bloc.dart';
import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart';
@ -134,10 +135,12 @@ class _Card extends StatelessWidget {
), ),
), ),
), ),
const SizedBox(width: 8), const Gap(8),
Text( Expanded(
service.displayName, child: Text(
style: Theme.of(context).textTheme.headlineMedium, service.displayName,
style: Theme.of(context).textTheme.headlineMedium,
),
), ),
], ],
), ),

View File

@ -141,7 +141,7 @@ class SelectLocationPage extends StatelessWidget {
), ),
); );
} else { } else {
return const Center(child: CircularProgressIndicator()); return const Center(child: CircularProgressIndicator.adaptive());
} }
}, },
); );
@ -479,7 +479,7 @@ class SelectTypePage extends StatelessWidget {
InfoBox(text: 'initializing.choose_server_type_notice'.tr()), InfoBox(text: 'initializing.choose_server_type_notice'.tr()),
); );
} else { } else {
return const Center(child: CircularProgressIndicator()); return const Center(child: CircularProgressIndicator.adaptive());
} }
}, },
); );

View File

@ -76,7 +76,7 @@ class _RecoveryConfirmServerState extends State<RecoveryConfirmServer> {
); );
} else { } else {
return const Center( return const Center(
child: CircularProgressIndicator(), child: CircularProgressIndicator.adaptive(),
); );
} }
}, },

View File

@ -56,7 +56,7 @@ class UsersPage extends StatelessWidget {
if (users.isEmpty) { if (users.isEmpty) {
if (state is UsersRefreshing) { if (state is UsersRefreshing) {
return const Center( return const Center(
child: CircularProgressIndicator(), child: CircularProgressIndicator.adaptive(),
); );
} }
return RefreshIndicator( return RefreshIndicator(

View File

@ -1,4 +1,4 @@
platform :osx, '10.13' platform :osx, '10.14'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency. # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true' ENV['COCOAPODS_DISABLE_STATS'] = 'true'

View File

@ -1,8 +1,8 @@
PODS: PODS:
- connectivity_plus_macos (0.0.1): - connectivity_plus (0.0.1):
- FlutterMacOS - FlutterMacOS
- ReachabilitySwift - ReachabilitySwift
- device_info_plus_macos (0.0.1): - device_info_plus (0.0.1):
- FlutterMacOS - FlutterMacOS
- dynamic_color (0.0.2): - dynamic_color (0.0.2):
- FlutterMacOS - FlutterMacOS
@ -11,40 +11,36 @@ PODS:
- FlutterMacOS (1.0.0) - FlutterMacOS (1.0.0)
- package_info (0.0.1): - package_info (0.0.1):
- FlutterMacOS - FlutterMacOS
- path_provider_macos (0.0.1): - path_provider_foundation (0.0.1):
- Flutter
- FlutterMacOS - FlutterMacOS
- ReachabilitySwift (5.0.0) - ReachabilitySwift (5.0.0)
- share_plus_macos (0.0.1): - shared_preferences_foundation (0.0.1):
- FlutterMacOS - Flutter
- shared_preferences_macos (0.0.1):
- FlutterMacOS - FlutterMacOS
- url_launcher_macos (0.0.1): - url_launcher_macos (0.0.1):
- FlutterMacOS - FlutterMacOS
- wakelock_macos (0.0.1):
- FlutterMacOS
DEPENDENCIES: DEPENDENCIES:
- connectivity_plus_macos (from `Flutter/ephemeral/.symlinks/plugins/connectivity_plus_macos/macos`) - connectivity_plus (from `Flutter/ephemeral/.symlinks/plugins/connectivity_plus/macos`)
- device_info_plus_macos (from `Flutter/ephemeral/.symlinks/plugins/device_info_plus_macos/macos`) - device_info_plus (from `Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos`)
- dynamic_color (from `Flutter/ephemeral/.symlinks/plugins/dynamic_color/macos`) - dynamic_color (from `Flutter/ephemeral/.symlinks/plugins/dynamic_color/macos`)
- flutter_secure_storage_macos (from `Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos`) - flutter_secure_storage_macos (from `Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos`)
- FlutterMacOS (from `Flutter/ephemeral`) - FlutterMacOS (from `Flutter/ephemeral`)
- package_info (from `Flutter/ephemeral/.symlinks/plugins/package_info/macos`) - package_info (from `Flutter/ephemeral/.symlinks/plugins/package_info/macos`)
- path_provider_macos (from `Flutter/ephemeral/.symlinks/plugins/path_provider_macos/macos`) - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`)
- share_plus_macos (from `Flutter/ephemeral/.symlinks/plugins/share_plus_macos/macos`) - shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`)
- shared_preferences_macos (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_macos/macos`)
- url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`) - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`)
- wakelock_macos (from `Flutter/ephemeral/.symlinks/plugins/wakelock_macos/macos`)
SPEC REPOS: SPEC REPOS:
trunk: trunk:
- ReachabilitySwift - ReachabilitySwift
EXTERNAL SOURCES: EXTERNAL SOURCES:
connectivity_plus_macos: connectivity_plus:
:path: Flutter/ephemeral/.symlinks/plugins/connectivity_plus_macos/macos :path: Flutter/ephemeral/.symlinks/plugins/connectivity_plus/macos
device_info_plus_macos: device_info_plus:
:path: Flutter/ephemeral/.symlinks/plugins/device_info_plus_macos/macos :path: Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos
dynamic_color: dynamic_color:
:path: Flutter/ephemeral/.symlinks/plugins/dynamic_color/macos :path: Flutter/ephemeral/.symlinks/plugins/dynamic_color/macos
flutter_secure_storage_macos: flutter_secure_storage_macos:
@ -53,31 +49,25 @@ EXTERNAL SOURCES:
:path: Flutter/ephemeral :path: Flutter/ephemeral
package_info: package_info:
:path: Flutter/ephemeral/.symlinks/plugins/package_info/macos :path: Flutter/ephemeral/.symlinks/plugins/package_info/macos
path_provider_macos: path_provider_foundation:
:path: Flutter/ephemeral/.symlinks/plugins/path_provider_macos/macos :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin
share_plus_macos: shared_preferences_foundation:
:path: Flutter/ephemeral/.symlinks/plugins/share_plus_macos/macos :path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin
shared_preferences_macos:
:path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_macos/macos
url_launcher_macos: url_launcher_macos:
:path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos
wakelock_macos:
:path: Flutter/ephemeral/.symlinks/plugins/wakelock_macos/macos
SPEC CHECKSUMS: SPEC CHECKSUMS:
connectivity_plus_macos: f6e86fd000e971d361e54b5afcadc8c8fa773308 connectivity_plus: 18d3c32514c886e046de60e9c13895109866c747
device_info_plus_macos: 1ad388a1ef433505c4038e7dd9605aadd1e2e9c7 device_info_plus: 5401765fde0b8d062a2f8eb65510fb17e77cf07f
dynamic_color: 394d6a888650f8534e029b27d2f8bc5c64e44008 dynamic_color: 2eaa27267de1ca20d879fbd6e01259773fb1670f
flutter_secure_storage_macos: 75c8cadfdba05ca007c0fa4ea0c16e5cf85e521b flutter_secure_storage_macos: d56e2d218c1130b262bef8b4a7d64f88d7f9c9ea
FlutterMacOS: ae6af50a8ea7d6103d888583d46bd8328a7e9811 FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
package_info: 6eba2fd8d3371dda2d85c8db6fe97488f24b74b2 package_info: 6eba2fd8d3371dda2d85c8db6fe97488f24b74b2
path_provider_macos: 3c0c3b4b0d4a76d2bf989a913c2de869c5641a19 path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
share_plus_macos: 853ee48e7dce06b633998ca0735d482dd671ade4 shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126
shared_preferences_macos: a64dc611287ed6cbe28fd1297898db1336975727 url_launcher_macos: d2691c7dd33ed713bf3544850a623080ec693d95
url_launcher_macos: 597e05b8e514239626bcf4a850fcf9ef5c856ec3
wakelock_macos: bc3f2a9bd8d2e6c89fee1e1822e7ddac3bd004a9
PODFILE CHECKSUM: 69608711ca93a0af5aac7e2f834b34cf2422afce PODFILE CHECKSUM: b0cc1fdf1eda0fefb5163971bbf18550427d02c4
COCOAPODS: 1.11.3 COCOAPODS: 1.15.2

View File

@ -3,7 +3,7 @@
archiveVersion = 1; archiveVersion = 1;
classes = { classes = {
}; };
objectVersion = 51; objectVersion = 54;
objects = { objects = {
/* Begin PBXAggregateTarget section */ /* Begin PBXAggregateTarget section */
@ -202,7 +202,7 @@
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
LastSwiftUpdateCheck = 0920; LastSwiftUpdateCheck = 0920;
LastUpgradeCheck = 1300; LastUpgradeCheck = 1430;
ORGANIZATIONNAME = ""; ORGANIZATIONNAME = "";
TargetAttributes = { TargetAttributes = {
33CC10EC2044A3C60003C045 = { 33CC10EC2044A3C60003C045 = {
@ -255,6 +255,7 @@
/* Begin PBXShellScriptBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */
3399D490228B24CF009A79C7 /* ShellScript */ = { 3399D490228B24CF009A79C7 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
); );
@ -403,7 +404,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13; MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx; SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule; SWIFT_COMPILATION_MODE = wholemodule;
@ -428,7 +429,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
MACOSX_DEPLOYMENT_TARGET = 10.13; MACOSX_DEPLOYMENT_TARGET = 10.14;
MARKETING_VERSION = 0.8.0; MARKETING_VERSION = 0.8.0;
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
@ -487,7 +488,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13; MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = YES; MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES; ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx; SDKROOT = macosx;
@ -534,7 +535,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13; MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx; SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule; SWIFT_COMPILATION_MODE = wholemodule;
@ -559,7 +560,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
MACOSX_DEPLOYMENT_TARGET = 10.13; MACOSX_DEPLOYMENT_TARGET = 10.14;
MARKETING_VERSION = 0.8.0; MARKETING_VERSION = 0.8.0;
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@ -584,7 +585,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
MACOSX_DEPLOYMENT_TARGET = 10.13; MACOSX_DEPLOYMENT_TARGET = 10.14;
MARKETING_VERSION = 0.8.0; MARKETING_VERSION = 0.8.0;
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Scheme <Scheme
LastUpgradeVersion = "1300" LastUpgradeVersion = "1430"
version = "1.3"> version = "1.3">
<BuildAction <BuildAction
parallelizeBuildables = "YES" parallelizeBuildables = "YES"