diff --git a/.github/workflows/lib_build.yml b/.github/workflows/lib_build.yml index 2c8e031b..f1fa45b2 100644 --- a/.github/workflows/lib_build.yml +++ b/.github/workflows/lib_build.yml @@ -11,13 +11,4 @@ on: # paths: # - 'rust_wraper' pull_request: - branches: [ "main" ] - -jobs: - build: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v3 - - name: Build - run: cd rust_wraper && rustup target add wasm32-unknown-unknown && cargo build --release - + branches: [ "main" ] \ No newline at end of file diff --git a/.metadata b/.metadata index 194e02a6..183a1b61 100644 --- a/.metadata +++ b/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "2663184aa79047d0a33a14a3b607954f8fdd8730" + revision: "54e66469a933b60ddf175f858f82eaeb97e48c8d" channel: "stable" project_type: app @@ -13,11 +13,11 @@ project_type: app migration: platforms: - platform: root - create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 - base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 - - platform: linux - create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 - base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730 + create_revision: 54e66469a933b60ddf175f858f82eaeb97e48c8d + base_revision: 54e66469a933b60ddf175f858f82eaeb97e48c8d + - platform: macos + create_revision: 54e66469a933b60ddf175f858f82eaeb97e48c8d + base_revision: 54e66469a933b60ddf175f858f82eaeb97e48c8d # User provided section diff --git a/lib/infra/components/mxc_image.dart b/lib/infra/components/mxc_image.dart index 703a8968..c65964b4 100644 --- a/lib/infra/components/mxc_image.dart +++ b/lib/infra/components/mxc_image.dart @@ -8,8 +8,8 @@ import 'dart:typed_data'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge.dart'; import 'package:http/http.dart' as http; import 'package:matrix/matrix.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/lib/infra/components/window.dart b/lib/infra/components/window.dart index 09963e5c..1bca21ad 100644 --- a/lib/infra/components/window.dart +++ b/lib/infra/components/window.dart @@ -7,6 +7,7 @@ import 'package:window_manager/window_manager.dart'; final _kIsLinux = !kIsWeb && Platform.isLinux; final _kIsWindows = !kIsWeb && Platform.isWindows; +final _kIsMacos = !kIsWeb && Platform.isMacOS; class WindowFrame extends StatefulWidget { const WindowFrame({ diff --git a/lib/infra/pages/channel/chat.dart b/lib/infra/pages/channel/chat.dart index 2f4cea10..a4d31cf4 100644 --- a/lib/infra/pages/channel/chat.dart +++ b/lib/infra/pages/channel/chat.dart @@ -5,9 +5,9 @@ import 'package:dtim/domain/utils/localized_extension.dart'; import 'package:bot_toast/bot_toast.dart'; import 'package:date_format/date_format.dart'; import 'package:easy_debounce/easy_debounce.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge.dart'; import 'package:window_manager/window_manager.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:matrix/matrix.dart' as link; diff --git a/lib/main.dart b/lib/main.dart index 23667de4..ba915cf3 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -29,7 +29,7 @@ Future main() async { WidgetsFlutterBinding.ensureInitialized(); if (isPc()) { await windowManager.ensureInitialized(); - await windowManager.hide(); + // await windowManager.hide(); } AdaptiveDialog.instance.updateConfiguration(defaultStyle: AdaptiveStyle.material); @@ -72,7 +72,9 @@ Future main() async { if (PlatformInfos.isMacOS || PlatformInfos.isWindows) { await windowManager.setHasShadow(true); } - await windowManager.setAsFrameless(); + if (Platform.isLinux) { + await windowManager.setAsFrameless(); + } await windowManager.setSize(winSize); await windowManager.show(); await showtray(); @@ -114,7 +116,7 @@ class App extends StatelessWidget { final MediaQueryData data = MediaQuery.of(context); child = botToastBuilder(context, child); ScreenUtil.setConText(context); - if (Platform.isLinux) { + if (Platform.isLinux || Platform.isMacOS) { child = virtualWindowFrameBuilder(context, child); } return MediaQuery( diff --git a/macos/Podfile b/macos/Podfile index 04ed3562..789aef58 100644 --- a/macos/Podfile +++ b/macos/Podfile @@ -1,4 +1,4 @@ -platform :osx, '10.15' +platform :osx, '11.05' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' @@ -31,13 +31,16 @@ target 'Runner' do use_modular_headers! flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end end post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_macos_build_settings(target) target.build_configurations.each do |config| - config.build_settings['MACOSX_DEPLOYMENT_TARGET'] = '10.15' + config.build_settings['MACOSX_DEPLOYMENT_TARGET'] = '11.05' end end end diff --git a/macos/Podfile.lock b/macos/Podfile.lock index c90747b7..9b4874c8 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -1,4 +1,6 @@ PODS: + - appkit_ui_element_colors (1.0.0): + - FlutterMacOS - audioplayers_darwin (0.0.1): - FlutterMacOS - desktop_lifecycle (0.0.1): @@ -15,7 +17,7 @@ PODS: - FlutterMacOS - flutter_webrtc (0.9.36): - FlutterMacOS - - WebRTC-SDK (= 114.5735.02) + - WebRTC-SDK (= 114.5735.08) - FlutterMacOS (1.0.0) - macos_ui (0.1.0): - FlutterMacOS @@ -26,7 +28,8 @@ PODS: - path_provider_foundation (0.0.1): - Flutter - FlutterMacOS - - record_macos (0.2.0): + - record_darwin (1.0.0): + - Flutter - FlutterMacOS - screen_retriever (0.0.1): - FlutterMacOS @@ -39,13 +42,17 @@ PODS: - FlutterMacOS - video_compress (0.3.0): - FlutterMacOS + - video_player_avfoundation (0.0.1): + - Flutter + - FlutterMacOS - wakelock_plus (0.0.1): - FlutterMacOS - - WebRTC-SDK (114.5735.02) + - WebRTC-SDK (114.5735.08) - window_manager (0.2.0): - FlutterMacOS DEPENDENCIES: + - appkit_ui_element_colors (from `Flutter/ephemeral/.symlinks/plugins/appkit_ui_element_colors/macos`) - audioplayers_darwin (from `Flutter/ephemeral/.symlinks/plugins/audioplayers_darwin/macos`) - desktop_lifecycle (from `Flutter/ephemeral/.symlinks/plugins/desktop_lifecycle/macos`) - device_info_plus (from `Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos`) @@ -59,12 +66,13 @@ DEPENDENCIES: - macos_window_utils (from `Flutter/ephemeral/.symlinks/plugins/macos_window_utils/macos`) - package_info_plus (from `Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos`) - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`) - - record_macos (from `Flutter/ephemeral/.symlinks/plugins/record_macos/macos`) + - record_darwin (from `Flutter/ephemeral/.symlinks/plugins/record_darwin/macos`) - screen_retriever (from `Flutter/ephemeral/.symlinks/plugins/screen_retriever/macos`) - shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`) - tray_manager (from `Flutter/ephemeral/.symlinks/plugins/tray_manager/macos`) - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`) - video_compress (from `Flutter/ephemeral/.symlinks/plugins/video_compress/macos`) + - video_player_avfoundation (from `Flutter/ephemeral/.symlinks/plugins/video_player_avfoundation/darwin`) - wakelock_plus (from `Flutter/ephemeral/.symlinks/plugins/wakelock_plus/macos`) - window_manager (from `Flutter/ephemeral/.symlinks/plugins/window_manager/macos`) @@ -73,6 +81,8 @@ SPEC REPOS: - WebRTC-SDK EXTERNAL SOURCES: + appkit_ui_element_colors: + :path: Flutter/ephemeral/.symlinks/plugins/appkit_ui_element_colors/macos audioplayers_darwin: :path: Flutter/ephemeral/.symlinks/plugins/audioplayers_darwin/macos desktop_lifecycle: @@ -99,8 +109,8 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos path_provider_foundation: :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin - record_macos: - :path: Flutter/ephemeral/.symlinks/plugins/record_macos/macos + record_darwin: + :path: Flutter/ephemeral/.symlinks/plugins/record_darwin/macos screen_retriever: :path: Flutter/ephemeral/.symlinks/plugins/screen_retriever/macos shared_preferences_foundation: @@ -111,35 +121,39 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos video_compress: :path: Flutter/ephemeral/.symlinks/plugins/video_compress/macos + video_player_avfoundation: + :path: Flutter/ephemeral/.symlinks/plugins/video_player_avfoundation/darwin wakelock_plus: :path: Flutter/ephemeral/.symlinks/plugins/wakelock_plus/macos window_manager: :path: Flutter/ephemeral/.symlinks/plugins/window_manager/macos SPEC CHECKSUMS: + appkit_ui_element_colors: 39bb2d80be3f19b152ccf4c70d5bbe6cba43d74a audioplayers_darwin: dcad41de4fbd0099cb3749f7ab3b0cb8f70b810c desktop_lifecycle: a600c10e12fe033c7be9078f2e929b8241f2c1e3 device_info_plus: 5401765fde0b8d062a2f8eb65510fb17e77cf07f dynamic_color: 2eaa27267de1ca20d879fbd6e01259773fb1670f emoji_picker_flutter: 533634326b1c5de9a181ba14b9758e6dfe967a20 - file_selector_macos: 468fb6b81fac7c0e88d71317f3eec34c3b008ff9 - flutter_secure_storage_macos: d56e2d218c1130b262bef8b4a7d64f88d7f9c9ea - flutter_webrtc: b7de006ffa89334a52103ea577b6596c437e6b9e + file_selector_macos: 54fdab7caa3ac3fc43c9fac4d7d8d231277f8cf2 + flutter_secure_storage_macos: 59459653abe1adb92abbc8ea747d79f8d19866c9 + flutter_webrtc: cf7dc44d26cbb5c5f1ae5f583dab545871f287f9 FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 macos_ui: 6229a8922cd97bafb7d9636c8eb8dfb0744183ca macos_window_utils: 933f91f64805e2eb91a5bd057cf97cd097276663 package_info_plus: 02d7a575e80f194102bef286361c6c326e4c29ce - path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 - record_macos: 937889e0f2a7a12b6fc14e97a3678e5a18943de6 + path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c + record_darwin: 1f6619f2abac4d1ca91d3eeab038c980d76f1517 screen_retriever: 59634572a57080243dd1bf715e55b6c54f241a38 - shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126 + shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695 tray_manager: 9064e219c56d75c476e46b9a21182087930baf90 - url_launcher_macos: d2691c7dd33ed713bf3544850a623080ec693d95 + url_launcher_macos: 5f437abeda8c85500ceb03f5c1938a8c5a705399 video_compress: c896234f100791b5fef7f049afa38f6d2ef7b42f + video_player_avfoundation: e9e6f9cae7d7a6d9b43519b0aab382bca60fcfd1 wakelock_plus: 4783562c9a43d209c458cb9b30692134af456269 - WebRTC-SDK: dd913fd31cfbf1d43b9a22d83f4c6354c960c623 + WebRTC-SDK: c24d2a6c9f571f2ed42297cb8ffba9557093142b window_manager: 3a1844359a6295ab1e47659b1a777e36773cd6e8 -PODFILE CHECKSUM: dac0ddf03d136db544afc27b87cc6c08492e67b9 +PODFILE CHECKSUM: d4f7bed7751a2548a288c0dc329459c782e59841 -COCOAPODS: 1.12.0 +COCOAPODS: 1.15.2 diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index b2b43e39..21a3278a 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -21,69 +21,53 @@ /* 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 */; }; - 642787842A5915D200FC5DC1 /* libolm.3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 642787832A5915D200FC5DC1 /* libolm.3.dylib */; }; - 643FC81B2A064353005433ED /* bridge_generated.h in Resources */ = {isa = PBXBuildFile; fileRef = 643FC8192A0642F9005433ED /* bridge_generated.h */; }; - 64935F752A5916880070C0ED /* libolm.3.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 642787832A5915D200FC5DC1 /* libolm.3.dylib */; }; - 64D97BB42A2F4FBB00AC47C9 /* rust_wraper.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 643FC8152A064233005433ED /* rust_wraper.dylib */; }; - 64D97BB92A2F587200AC47C9 /* rust_wraper.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 643FC8152A064233005433ED /* rust_wraper.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - 76E1FB9537C897D97B7AB838 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22B244347CC18FEF5A32D113 /* Pods_Runner.framework */; }; + 510E5E7C64307DA64443BDAE /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 13E7A03C363A7D2E60971FAD /* Pods_RunnerTests.framework */; }; + A5AF7A0E19C7AA9107B52BFB /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABEB113BB183D0EA5F6ECACA /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { + 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 33CC10E52044A3C60003C045 /* Project object */; proxyType = 1; - remoteGlobalIDString = 33CC111A2044C6BA0003C045; - remoteInfo = FLX; - }; - 643FC8122A064233005433ED /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 643FC80D2A064233005433ED /* rust_wraper.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CA60E49145B6537EB31ECD0E; - remoteInfo = "rust_wraper-staticlib"; - }; - 643FC8142A064233005433ED /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 643FC80D2A064233005433ED /* rust_wraper.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CA60F6BA56F636FDA8E35F60; - remoteInfo = "rust_wraper-cdylib"; + remoteGlobalIDString = 33CC10EC2044A3C60003C045; + remoteInfo = Runner; }; - 643FC8162A064240005433ED /* PBXContainerItemProxy */ = { + 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 643FC80D2A064233005433ED /* rust_wraper.xcodeproj */; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; proxyType = 1; - remoteGlobalIDString = CA600DEE3E9CD4A9675DF4B6; - remoteInfo = "rust_wraper-cdylib"; + remoteGlobalIDString = 33CC111A2044C6BA0003C045; + remoteInfo = FLX; }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - 643FC82C2A065B8C005433ED /* CopyFiles */ = { + 33CC110E2044A8840003C045 /* Bundle Framework */ = { isa = PBXCopyFilesBuildPhase; - buildActionMask = 12; + buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - 64935F752A5916880070C0ED /* libolm.3.dylib in CopyFiles */, - 64D97BB92A2F587200AC47C9 /* rust_wraper.dylib in CopyFiles */, ); + name = "Bundle Framework"; runOnlyForDeploymentPostprocessing = 0; }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 22B244347CC18FEF5A32D113 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 13E7A03C363A7D2E60971FAD /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 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 = ""; }; - 33CC10ED2044A3C60003C045 /* DTIM.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DTIM.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10ED2044A3C60003C045 /* dtim.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = dtim.app; sourceTree = BUILT_PRODUCTS_DIR; }; 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; @@ -95,30 +79,45 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 642787832A5915D200FC5DC1 /* libolm.3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = libolm.3.dylib; sourceTree = ""; }; - 643FC80D2A064233005433ED /* rust_wraper.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = rust_wraper.xcodeproj; path = ../../rust_wraper/rust_wraper.xcodeproj; sourceTree = ""; }; - 643FC8192A0642F9005433ED /* bridge_generated.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bridge_generated.h; sourceTree = ""; }; + 3DCE982F36699D32A1F7C683 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 502F88E8C627672E6C2F7009 /* 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 = ""; }; + 64790612E8D76DE8A6DC2110 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 89F48EA05E02A15F6FA63FE5 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - CC61377F0A11EA457FACBD0A /* 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 = ""; }; - CC6D582C00733931F7076A82 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - E91A9A686C9B4828ABFD9DDF /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + ABEB113BB183D0EA5F6ECACA /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FBE87CC085654D2DF55D8DFC /* 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 = ""; }; + FFAB219FDB19A48EA286EA35 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 331C80D2294CF70F00263BE5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 510E5E7C64307DA64443BDAE /* Pods_RunnerTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 33CC10EA2044A3C60003C045 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 642787842A5915D200FC5DC1 /* libolm.3.dylib in Frameworks */, - 64D97BB42A2F4FBB00AC47C9 /* rust_wraper.dylib in Frameworks */, - 76E1FB9537C897D97B7AB838 /* Pods_Runner.framework in Frameworks */, + A5AF7A0E19C7AA9107B52BFB /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 331C80D6294CF71000263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C80D7294CF71000263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; 33BA886A226E78AF003329D5 /* Configs */ = { isa = PBXGroup; children = ( @@ -133,19 +132,20 @@ 33CC10E42044A3C60003C045 = { isa = PBXGroup; children = ( - 642787832A5915D200FC5DC1 /* libolm.3.dylib */, 33FAB671232836740065AC1E /* Runner */, 33CEB47122A05771004F2AC0 /* Flutter */, + 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - EFEA5170E31278A681673060 /* Pods */, + E4CAC4E546CE2D9B712EDF49 /* Pods */, ); sourceTree = ""; }; 33CC10EE2044A3C60003C045 /* Products */ = { isa = PBXGroup; children = ( - 33CC10ED2044A3C60003C045 /* DTIM.app */, + 33CC10ED2044A3C60003C045 /* dtim.app */, + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, ); name = Products; sourceTree = ""; @@ -175,9 +175,7 @@ 33FAB671232836740065AC1E /* Runner */ = { isa = PBXGroup; children = ( - 643FC80D2A064233005433ED /* rust_wraper.xcodeproj */, 33CC10F02044A3C60003C045 /* AppDelegate.swift */, - 643FC8192A0642F9005433ED /* bridge_generated.h */, 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, 33E51913231747F40026EE4D /* DebugProfile.entitlements */, 33E51914231749380026EE4D /* Release.entitlements */, @@ -187,57 +185,71 @@ path = Runner; sourceTree = ""; }; - 643FC80E2A064233005433ED /* Products */ = { - isa = PBXGroup; - children = ( - 643FC8132A064233005433ED /* librust_wraper_static.a */, - 643FC8152A064233005433ED /* rust_wraper.dylib */, - ); - name = Products; - sourceTree = ""; - }; D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 22B244347CC18FEF5A32D113 /* Pods_Runner.framework */, + ABEB113BB183D0EA5F6ECACA /* Pods_Runner.framework */, + 13E7A03C363A7D2E60971FAD /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; }; - EFEA5170E31278A681673060 /* Pods */ = { + E4CAC4E546CE2D9B712EDF49 /* Pods */ = { isa = PBXGroup; children = ( - CC6D582C00733931F7076A82 /* Pods-Runner.debug.xcconfig */, - E91A9A686C9B4828ABFD9DDF /* Pods-Runner.release.xcconfig */, - CC61377F0A11EA457FACBD0A /* Pods-Runner.profile.xcconfig */, - ); + 3DCE982F36699D32A1F7C683 /* Pods-Runner.debug.xcconfig */, + 64790612E8D76DE8A6DC2110 /* Pods-Runner.release.xcconfig */, + 502F88E8C627672E6C2F7009 /* Pods-Runner.profile.xcconfig */, + 89F48EA05E02A15F6FA63FE5 /* Pods-RunnerTests.debug.xcconfig */, + FBE87CC085654D2DF55D8DFC /* Pods-RunnerTests.release.xcconfig */, + FFAB219FDB19A48EA286EA35 /* Pods-RunnerTests.profile.xcconfig */, + ); + name = Pods; path = Pods; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ + 331C80D4294CF70F00263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 8FB3D36B2F7AED5ACD73B9A5 /* [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" */; buildPhases = ( - 4B86737865C1CDE8796EE5C6 /* [CP] Check Pods Manifest.lock */, + 0CD9E2CF6D390638F24FB79E /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, + 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 0A724329D8149DBA6D33B836 /* [CP] Embed Pods Frameworks */, - 643FC82C2A065B8C005433ED /* CopyFiles */, + 8C11F189B7036CC73CE6C8D4 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); dependencies = ( - 643FC8172A064240005433ED /* PBXTargetDependency */, 33CC11202044C79F0003C045 /* PBXTargetDependency */, ); name = Runner; productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* DTIM.app */; + productReference = 33CC10ED2044A3C60003C045 /* dtim.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -246,13 +258,19 @@ 33CC10E52044A3C60003C045 /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { + 331C80D4294CF70F00263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 33CC10EC2044A3C60003C045; + }; 33CC10EC2044A3C60003C045 = { CreatedOnToolsVersion = 9.2; LastSwiftMigration = 1100; + ProvisioningStyle = Automatic; SystemCapabilities = { com.apple.Sandbox = { enabled = 1; @@ -276,43 +294,27 @@ mainGroup = 33CC10E42044A3C60003C045; productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 643FC80E2A064233005433ED /* Products */; - ProjectRef = 643FC80D2A064233005433ED /* rust_wraper.xcodeproj */; - }, - ); projectRoot = ""; targets = ( 33CC10EC2044A3C60003C045 /* Runner */, + 331C80D4294CF70F00263BE5 /* RunnerTests */, 33CC111A2044C6BA0003C045 /* Flutter Assemble */, ); }; /* End PBXProject section */ -/* Begin PBXReferenceProxy section */ - 643FC8132A064233005433ED /* librust_wraper_static.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = librust_wraper_static.a; - remoteRef = 643FC8122A064233005433ED /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 643FC8152A064233005433ED /* rust_wraper.dylib */ = { - isa = PBXReferenceProxy; - fileType = "compiled.mach-o.dylib"; - path = rust_wraper.dylib; - remoteRef = 643FC8142A064233005433ED /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - /* Begin PBXResourcesBuildPhase section */ + 331C80D3294CF70F00263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 33CC10EB2044A3C60003C045 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 643FC81B2A064353005433ED /* bridge_generated.h in Resources */, 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, ); @@ -321,21 +323,26 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 0A724329D8149DBA6D33B836 /* [CP] Embed Pods Frameworks */ = { + 0CD9E2CF6D390638F24FB79E /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + 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; }; 3399D490228B24CF009A79C7 /* ShellScript */ = { @@ -376,7 +383,24 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 4B86737865C1CDE8796EE5C6 /* [CP] Check Pods Manifest.lock */ = { + 8C11F189B7036CC73CE6C8D4 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 8FB3D36B2F7AED5ACD73B9A5 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -391,7 +415,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -401,6 +425,14 @@ /* 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; @@ -414,16 +446,16 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC10EC2044A3C60003C045 /* Runner */; + targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; + }; 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; }; - 643FC8172A064240005433ED /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "rust_wraper-cdylib"; - targetProxy = 643FC8162A064240005433ED /* PBXContainerItemProxy */; - }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -439,11 +471,57 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ + 331C80DB294CF71000263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 89F48EA05E02A15F6FA63FE5 /* Pods-RunnerTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = me.asyou.dtim.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/dtim.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/dtim"; + }; + name = Debug; + }; + 331C80DC294CF71000263BE5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = FBE87CC085654D2DF55D8DFC /* Pods-RunnerTests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = me.asyou.dtim.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/dtim.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/dtim"; + }; + name = Release; + }; + 331C80DD294CF71000263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = FFAB219FDB19A48EA286EA35 /* Pods-RunnerTests.profile.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = me.asyou.dtim.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/dtim.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/dtim"; + }; + name = Profile; + }; 338D0CE9231458BD00FA5F75 /* Profile */ = { isa = XCBuildConfiguration; baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; @@ -467,9 +545,11 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -477,9 +557,8 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; + MACOSX_DEPLOYMENT_TARGET = 11.5; MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; @@ -493,25 +572,15 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = R4C78LVTG6; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)", - ); - MACOSX_DEPLOYMENT_TARGET = 10.15; - PRODUCT_BUNDLE_IDENTIFIER = app.wetee.dtim; - PRODUCT_NAME = DTIM; + MACOSX_DEPLOYMENT_TARGET = 11.5; PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OBJC_BRIDGING_HEADER = Runner/bridge_generated.h; SWIFT_VERSION = 5.0; }; name = Profile; @@ -529,6 +598,7 @@ baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; @@ -552,9 +622,11 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -568,10 +640,9 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; + MACOSX_DEPLOYMENT_TARGET = 11.5; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; - OTHER_LDFLAGS = ""; SDKROOT = macosx; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -583,6 +654,7 @@ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; @@ -606,9 +678,11 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -616,9 +690,8 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; + MACOSX_DEPLOYMENT_TARGET = 11.5; MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; @@ -632,25 +705,15 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = R4C78LVTG6; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)", - ); - MACOSX_DEPLOYMENT_TARGET = 10.15; - PRODUCT_BUNDLE_IDENTIFIER = app.wetee.dtim; - PRODUCT_NAME = DTIM; + MACOSX_DEPLOYMENT_TARGET = 11.5; PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OBJC_BRIDGING_HEADER = Runner/bridge_generated.h; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; }; @@ -663,25 +726,15 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = R4C78LVTG6; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)", - ); - MACOSX_DEPLOYMENT_TARGET = 10.15; - PRODUCT_BUNDLE_IDENTIFIER = app.wetee.dtim; - PRODUCT_NAME = DTIM; + MACOSX_DEPLOYMENT_TARGET = 11.5; PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OBJC_BRIDGING_HEADER = Runner/bridge_generated.h; SWIFT_VERSION = 5.0; }; name = Release; @@ -705,6 +758,16 @@ /* 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.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 3601b87e..731782ce 100644 --- a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ @@ -31,12 +31,23 @@ + + + + @@ -71,7 +82,7 @@ diff --git a/macos/Runner/AppDelegate.swift b/macos/Runner/AppDelegate.swift index c5e74a35..d53ef643 100644 --- a/macos/Runner/AppDelegate.swift +++ b/macos/Runner/AppDelegate.swift @@ -4,22 +4,6 @@ import FlutterMacOS @NSApplicationMain class AppDelegate: FlutterAppDelegate { override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { - let dummy = dummy_method_to_enforce_bundling() - print(dummy) - return false - } - - // dock 点击恢复窗口 - override func applicationShouldHandleReopen(_ sender: NSApplication, hasVisibleWindows flag: Bool) -> Bool { - if !flag { - for window in NSApp.windows { - if !window.isVisible { - window.setIsVisible(true) - } - window.makeKeyAndOrderFront(self) - NSApp.activate(ignoringOtherApps: true) - } - } return true } } diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json index eba1335b..a2ec33f1 100644 --- a/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1 +1,68 @@ -{"images":[{"size":"1024x1024","filename":"1024-mac.png","expected-size":"1024","idiom":"ios-marketing","folder":"Assets.xcassets/AppIcon.appiconset/","scale":"1x"},{"size":"128x128","expected-size":"128","filename":"128-mac.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"256x256","expected-size":"256","filename":"256-mac.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"128x128","expected-size":"256","filename":"256-mac.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"256x256","expected-size":"512","filename":"512-mac.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"32","filename":"32-mac.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"512x512","expected-size":"512","filename":"512-mac.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"16","filename":"16-mac.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"32","filename":"32-mac.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"64","filename":"64-mac.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"512x512","expected-size":"1024","filename":"1024-mac.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"}]} \ No newline at end of file +{ + "images" : [ + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_16.png", + "scale" : "1x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "2x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_64.png", + "scale" : "2x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_128.png", + "scale" : "1x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "2x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "1x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_1024.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/macos/Runner/Configs/AppInfo.xcconfig b/macos/Runner/Configs/AppInfo.xcconfig index 1e963df7..062551b0 100644 --- a/macos/Runner/Configs/AppInfo.xcconfig +++ b/macos/Runner/Configs/AppInfo.xcconfig @@ -5,10 +5,10 @@ // 'flutter create' template. // The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = DTIM +PRODUCT_NAME = dtim // The application's bundle identifier -PRODUCT_BUNDLE_IDENTIFIER = app.wetee.dtim +PRODUCT_BUNDLE_IDENTIFIER = me.asyou.dtim // The copyright displayed in application information -PRODUCT_COPYRIGHT = Copyright © 2023 wetee.dao. All rights reserved. +PRODUCT_COPYRIGHT = Copyright © 2024 me.asyou. All rights reserved. diff --git a/macos/Runner/DebugProfile.entitlements b/macos/Runner/DebugProfile.entitlements index e92c0f01..dddb8a30 100644 --- a/macos/Runner/DebugProfile.entitlements +++ b/macos/Runner/DebugProfile.entitlements @@ -6,12 +6,6 @@ com.apple.security.cs.allow-jit - com.apple.security.device.audio-input - - com.apple.security.device.camera - - com.apple.security.network.client - com.apple.security.network.server diff --git a/macos/Runner/Info.plist b/macos/Runner/Info.plist index b5874f72..4789daa6 100644 --- a/macos/Runner/Info.plist +++ b/macos/Runner/Info.plist @@ -26,8 +26,6 @@ $(PRODUCT_COPYRIGHT) NSMainNibFile MainMenu - NSMicrophoneUsageDescription - We need to access to the microphone to record audio file NSPrincipalClass NSApplication diff --git a/macos/Runner/MainFlutterWindow.swift b/macos/Runner/MainFlutterWindow.swift index 2722837e..3cc05eb2 100644 --- a/macos/Runner/MainFlutterWindow.swift +++ b/macos/Runner/MainFlutterWindow.swift @@ -3,7 +3,7 @@ import FlutterMacOS class MainFlutterWindow: NSWindow { override func awakeFromNib() { - let flutterViewController = FlutterViewController.init() + let flutterViewController = FlutterViewController() let windowFrame = self.frame self.contentViewController = flutterViewController self.setFrame(windowFrame, display: true) diff --git a/macos/Runner/Release.entitlements b/macos/Runner/Release.entitlements index e92c0f01..852fa1a4 100644 --- a/macos/Runner/Release.entitlements +++ b/macos/Runner/Release.entitlements @@ -4,15 +4,5 @@ com.apple.security.app-sandbox - com.apple.security.cs.allow-jit - - com.apple.security.device.audio-input - - com.apple.security.device.camera - - com.apple.security.network.client - - com.apple.security.network.server - diff --git a/macos/build.sh b/macos/build.sh deleted file mode 100644 index 7a67d0c4..00000000 --- a/macos/build.sh +++ /dev/null @@ -1,46 +0,0 @@ -# generated with cargo-xcode 1.4.3 - -set -eu; export PATH=$PATH:~/.cargo/bin:/usr/local/bin; -if [ "${IS_MACCATALYST-NO}" = YES ]; then - CARGO_XCODE_TARGET_TRIPLE="${CARGO_XCODE_TARGET_ARCH}-apple-ios-macabi" -else - CARGO_XCODE_TARGET_TRIPLE="${CARGO_XCODE_TARGET_ARCH}-apple-${CARGO_XCODE_TARGET_OS}" -fi -if [ "$CARGO_XCODE_TARGET_OS" != "darwin" ]; then - PATH="${PATH/\/Contents\/Developer\/Toolchains\/XcodeDefault.xctoolchain\/usr\/bin:/xcode-provided-ld-cant-link-lSystem-for-the-host-build-script:}" -fi -PATH="$PATH:/opt/homebrew/bin" # Rust projects often depend on extra tools like nasm, which Xcode lacks -if [ "$CARGO_XCODE_BUILD_MODE" == release ]; then - OTHER_INPUT_FILE_FLAGS="${OTHER_INPUT_FILE_FLAGS} --release" -fi -if command -v rustup &> /dev/null; then - if ! rustup target list --installed | egrep -q "${CARGO_XCODE_TARGET_TRIPLE}"; then - echo "warning: this build requires rustup toolchain for $CARGO_XCODE_TARGET_TRIPLE, but it isn't installed" - rustup target add "${CARGO_XCODE_TARGET_TRIPLE}" || echo >&2 "warning: can't install $CARGO_XCODE_TARGET_TRIPLE" - fi -fi -if [ "$ACTION" = clean ]; then - ( set -x; cargo clean --manifest-path="$SCRIPT_INPUT_FILE" ${OTHER_INPUT_FILE_FLAGS} --target="${CARGO_XCODE_TARGET_TRIPLE}"; ); -else - ( set -x; cargo build --manifest-path="$SCRIPT_INPUT_FILE" --features="${CARGO_XCODE_FEATURES:-}" ${OTHER_INPUT_FILE_FLAGS} --target="${CARGO_XCODE_TARGET_TRIPLE}"; ); -fi -# it's too hard to explain Cargo's actual exe path to Xcode build graph, so hardlink to a known-good path instead -BUILT_SRC="${CARGO_TARGET_DIR}/${CARGO_XCODE_TARGET_TRIPLE}/${CARGO_XCODE_BUILD_MODE}/${CARGO_XCODE_CARGO_FILE_NAME}" -ln -f -- "$BUILT_SRC" "$SCRIPT_OUTPUT_FILE_0" - -# xcode generates dep file, but for its own path, so append our rename to it -DEP_FILE_SRC="${CARGO_TARGET_DIR}/${CARGO_XCODE_TARGET_TRIPLE}/${CARGO_XCODE_BUILD_MODE}/${CARGO_XCODE_CARGO_DEP_FILE_NAME}" -if [ -f "$DEP_FILE_SRC" ]; then - DEP_FILE_DST="${DERIVED_FILE_DIR}/${CARGO_XCODE_TARGET_ARCH}-${EXECUTABLE_NAME}.d" - cp -f "$DEP_FILE_SRC" "$DEP_FILE_DST" - echo >> "$DEP_FILE_DST" "$SCRIPT_OUTPUT_FILE_0: $BUILT_SRC" -fi - -# lipo script needs to know all the platform-specific files that have been built -# archs is in the file name, so that paths don't stay around after archs change -# must match input for LipoScript -FILE_LIST="${DERIVED_FILE_DIR}/${ARCHS}-${EXECUTABLE_NAME}.xcfilelist" -touch "$FILE_LIST" -if ! egrep -q "$SCRIPT_OUTPUT_FILE_0" "$FILE_LIST" ; then - echo >> "$FILE_LIST" "$SCRIPT_OUTPUT_FILE_0" -fi diff --git a/pubspec.lock b/pubspec.lock index 574490d3..cc796488 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -241,14 +241,6 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "2.4.1" - build_cli_annotations: - dependency: transitive - description: - name: build_cli_annotations - sha256: b59d2769769efd6c9ff6d4c4cede0be115a566afc591705c2040b707534b1172 - url: "https://pub.flutter-io.cn" - source: hosted - version: "2.1.0" build_config: dependency: transitive description: @@ -736,14 +728,6 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "2.0.18" - flutter_rust_bridge: - dependency: "direct main" - description: - name: flutter_rust_bridge - sha256: "02720226035257ad0b571c1256f43df3e1556a499f6bcb004849a0faaa0e87f0" - url: "https://pub.flutter-io.cn" - source: hosted - version: "1.82.6" flutter_secure_storage: dependency: "direct main" description: @@ -1484,14 +1468,6 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "1.0.0" - puppeteer: - dependency: transitive - description: - name: puppeteer - sha256: eedeaae6ec5d2e54f9ae22ab4d6b3dda2e8791c356cc783046d06c287ffe11d8 - url: "https://pub.flutter-io.cn" - source: hosted - version: "3.6.0" quiver: dependency: transitive description: @@ -1676,14 +1652,6 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "1.4.1" - shelf_static: - dependency: transitive - description: - name: shelf_static - sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e - url: "https://pub.flutter-io.cn" - source: hosted - version: "1.1.2" shelf_web_socket: dependency: transitive description: @@ -1889,14 +1857,6 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "0.2.4" - tuple: - dependency: transitive - description: - name: tuple - sha256: a97ce2013f240b2f3807bcbaf218765b6f301c3eff91092bcfa23a039e7dd151 - url: "https://pub.flutter-io.cn" - source: hosted - version: "2.0.2" typed_data: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 719b480d..3885271d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,8 +15,6 @@ dependencies: # # 国际化 # intl: any cupertino_icons: ^1.0.2 - # rust 链桥 - flutter_rust_bridge: ^1.82.6 # 动画库 lottie: ^2.2.0 # 组件动画库