From 3b228bb58b49e1faba278f000cc8940b6231265f Mon Sep 17 00:00:00 2001 From: TheOneWithTheBraid Date: Fri, 19 May 2023 13:24:08 +0200 Subject: [PATCH 1/6] feat: update macOS build files Signed-off-by: TheOneWithTheBraid --- macos/Podfile.lock | 101 +++++++++++------- macos/Runner.xcodeproj/project.pbxproj | 40 ++++--- .../xcshareddata/xcschemes/Runner.xcscheme | 30 +++--- macos/Runner/DebugProfile.entitlements | 6 ++ macos/Runner/Release.entitlements | 6 ++ 5 files changed, 110 insertions(+), 73 deletions(-) diff --git a/macos/Podfile.lock b/macos/Podfile.lock index 12862df4..241265a5 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -1,26 +1,30 @@ PODS: - audio_session (0.0.1): - FlutterMacOS - - connectivity_plus_macos (0.0.1): + - connectivity_plus (0.0.1): - FlutterMacOS - ReachabilitySwift - desktop_drop (0.0.1): - FlutterMacOS - desktop_lifecycle (0.0.1): - FlutterMacOS - - device_info_plus_macos (0.0.1): + - device_info_plus (0.0.1): + - FlutterMacOS + - dynamic_color (0.0.2): - FlutterMacOS - emoji_picker_flutter (0.0.1): - FlutterMacOS + - flutter_app_badger (1.3.0): + - FlutterMacOS - flutter_local_notifications (0.0.1): - FlutterMacOS - - flutter_secure_storage_macos (3.3.1): + - flutter_secure_storage_macos (6.1.1): - FlutterMacOS - - flutter_web_auth (0.4.1): + - flutter_web_auth_2 (1.1.1): - FlutterMacOS - - flutter_webrtc (0.8.11): + - flutter_webrtc (0.9.25): - FlutterMacOS - - WebRTC-SDK (= 97.4692.07) + - WebRTC-SDK (= 104.5112.16) - FlutterMacOS (1.0.0) - FMDB (2.7.5): - FMDB/standard (= 2.7.5) @@ -29,14 +33,15 @@ PODS: - FlutterMacOS - just_audio (0.0.1): - FlutterMacOS - - package_info_plus_macos (0.0.1): + - package_info_plus (0.0.1): - FlutterMacOS - - path_provider_macos (0.0.1): + - path_provider_foundation (0.0.1): + - Flutter - FlutterMacOS - ReachabilitySwift (5.0.0) - record_macos (0.2.0): - FlutterMacOS - - share_plus_macos (0.0.1): + - share_plus (0.0.1): - FlutterMacOS - shared_preferences_macos (0.0.1): - FlutterMacOS @@ -49,31 +54,36 @@ PODS: - FlutterMacOS - wakelock_macos (0.0.1): - FlutterMacOS - - WebRTC-SDK (97.4692.07) + - WebRTC-SDK (104.5112.16) + - window_to_front (0.0.1): + - FlutterMacOS DEPENDENCIES: - audio_session (from `Flutter/ephemeral/.symlinks/plugins/audio_session/macos`) - - connectivity_plus_macos (from `Flutter/ephemeral/.symlinks/plugins/connectivity_plus_macos/macos`) + - connectivity_plus (from `Flutter/ephemeral/.symlinks/plugins/connectivity_plus/macos`) - desktop_drop (from `Flutter/ephemeral/.symlinks/plugins/desktop_drop/macos`) - desktop_lifecycle (from `Flutter/ephemeral/.symlinks/plugins/desktop_lifecycle/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`) - emoji_picker_flutter (from `Flutter/ephemeral/.symlinks/plugins/emoji_picker_flutter/macos`) + - flutter_app_badger (from `Flutter/ephemeral/.symlinks/plugins/flutter_app_badger/macos`) - flutter_local_notifications (from `Flutter/ephemeral/.symlinks/plugins/flutter_local_notifications/macos`) - flutter_secure_storage_macos (from `Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos`) - - flutter_web_auth (from `Flutter/ephemeral/.symlinks/plugins/flutter_web_auth/macos`) + - flutter_web_auth_2 (from `Flutter/ephemeral/.symlinks/plugins/flutter_web_auth_2/macos`) - flutter_webrtc (from `Flutter/ephemeral/.symlinks/plugins/flutter_webrtc/macos`) - FlutterMacOS (from `Flutter/ephemeral`) - geolocator_apple (from `Flutter/ephemeral/.symlinks/plugins/geolocator_apple/macos`) - just_audio (from `Flutter/ephemeral/.symlinks/plugins/just_audio/macos`) - - package_info_plus_macos (from `Flutter/ephemeral/.symlinks/plugins/package_info_plus_macos/macos`) - - path_provider_macos (from `Flutter/ephemeral/.symlinks/plugins/path_provider_macos/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`) - - share_plus_macos (from `Flutter/ephemeral/.symlinks/plugins/share_plus_macos/macos`) + - share_plus (from `Flutter/ephemeral/.symlinks/plugins/share_plus/macos`) - shared_preferences_macos (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_macos/macos`) - sqflite (from `Flutter/ephemeral/.symlinks/plugins/sqflite/macos`) - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`) - video_compress (from `Flutter/ephemeral/.symlinks/plugins/video_compress/macos`) - wakelock_macos (from `Flutter/ephemeral/.symlinks/plugins/wakelock_macos/macos`) + - window_to_front (from `Flutter/ephemeral/.symlinks/plugins/window_to_front/macos`) SPEC REPOS: trunk: @@ -84,22 +94,26 @@ SPEC REPOS: EXTERNAL SOURCES: audio_session: :path: Flutter/ephemeral/.symlinks/plugins/audio_session/macos - connectivity_plus_macos: - :path: Flutter/ephemeral/.symlinks/plugins/connectivity_plus_macos/macos + connectivity_plus: + :path: Flutter/ephemeral/.symlinks/plugins/connectivity_plus/macos desktop_drop: :path: Flutter/ephemeral/.symlinks/plugins/desktop_drop/macos desktop_lifecycle: :path: Flutter/ephemeral/.symlinks/plugins/desktop_lifecycle/macos - device_info_plus_macos: - :path: Flutter/ephemeral/.symlinks/plugins/device_info_plus_macos/macos + device_info_plus: + :path: Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos + dynamic_color: + :path: Flutter/ephemeral/.symlinks/plugins/dynamic_color/macos emoji_picker_flutter: :path: Flutter/ephemeral/.symlinks/plugins/emoji_picker_flutter/macos + flutter_app_badger: + :path: Flutter/ephemeral/.symlinks/plugins/flutter_app_badger/macos flutter_local_notifications: :path: Flutter/ephemeral/.symlinks/plugins/flutter_local_notifications/macos flutter_secure_storage_macos: :path: Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos - flutter_web_auth: - :path: Flutter/ephemeral/.symlinks/plugins/flutter_web_auth/macos + flutter_web_auth_2: + :path: Flutter/ephemeral/.symlinks/plugins/flutter_web_auth_2/macos flutter_webrtc: :path: Flutter/ephemeral/.symlinks/plugins/flutter_webrtc/macos FlutterMacOS: @@ -108,14 +122,14 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/geolocator_apple/macos just_audio: :path: Flutter/ephemeral/.symlinks/plugins/just_audio/macos - package_info_plus_macos: - :path: Flutter/ephemeral/.symlinks/plugins/package_info_plus_macos/macos - path_provider_macos: - :path: Flutter/ephemeral/.symlinks/plugins/path_provider_macos/macos + package_info_plus: + :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 - share_plus_macos: - :path: Flutter/ephemeral/.symlinks/plugins/share_plus_macos/macos + share_plus: + :path: Flutter/ephemeral/.symlinks/plugins/share_plus/macos shared_preferences_macos: :path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_macos/macos sqflite: @@ -126,34 +140,39 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/video_compress/macos wakelock_macos: :path: Flutter/ephemeral/.symlinks/plugins/wakelock_macos/macos + window_to_front: + :path: Flutter/ephemeral/.symlinks/plugins/window_to_front/macos SPEC CHECKSUMS: audio_session: dea1f41890dbf1718f04a56f1d6150fd50039b72 - connectivity_plus_macos: f6e86fd000e971d361e54b5afcadc8c8fa773308 + connectivity_plus: 18d3c32514c886e046de60e9c13895109866c747 desktop_drop: 69eeff437544aa619c8db7f4481b3a65f7696898 desktop_lifecycle: a600c10e12fe033c7be9078f2e929b8241f2c1e3 - device_info_plus_macos: 1ad388a1ef433505c4038e7dd9605aadd1e2e9c7 + device_info_plus: 5401765fde0b8d062a2f8eb65510fb17e77cf07f + dynamic_color: 2eaa27267de1ca20d879fbd6e01259773fb1670f emoji_picker_flutter: 533634326b1c5de9a181ba14b9758e6dfe967a20 + flutter_app_badger: 55a64b179f8438e89d574320c77b306e327a1730 flutter_local_notifications: 3805ca215b2fb7f397d78b66db91f6a747af52e4 - flutter_secure_storage_macos: 6ceee8fbc7f484553ad17f79361b556259df89aa - flutter_web_auth: ae2c29ca9b98c00b4e0e8c0919bb4a05d44b76df - flutter_webrtc: 39478671aae60497438bceafc011357911e00056 - FlutterMacOS: ae6af50a8ea7d6103d888583d46bd8328a7e9811 + flutter_secure_storage_macos: 75c8cadfdba05ca007c0fa4ea0c16e5cf85e521b + flutter_web_auth_2: 6695649132b6c71ea17700703761c0d18fdb8cf6 + flutter_webrtc: b84df13e005a497c20fa4d8d597f318584f0faa5 + FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a geolocator_apple: 821be05bbdb1b49500e029ebcbf2d6acf2dfb966 just_audio: 9b67ca7b97c61cfc9784ea23cd8cc55eb226d489 - package_info_plus_macos: f010621b07802a241d96d01876d6705f15e77c1c - path_provider_macos: 160cab0d5461f0c0e02995469a98f24bdb9a3f1f + package_info_plus: 02d7a575e80f194102bef286361c6c326e4c29ce + path_provider_foundation: c68054786f1b4f3343858c1e1d0caaded73f0be9 ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 record_macos: 937889e0f2a7a12b6fc14e97a3678e5a18943de6 - share_plus_macos: 853ee48e7dce06b633998ca0735d482dd671ade4 - shared_preferences_macos: a64dc611287ed6cbe28fd1297898db1336975727 + share_plus: 76dd39142738f7a68dd57b05093b5e8193f220f7 + shared_preferences_macos: 8b221d457159a85f478c0b9d2f19aeae9feff475 sqflite: a5789cceda41d54d23f31d6de539d65bb14100ea - url_launcher_macos: 597e05b8e514239626bcf4a850fcf9ef5c856ec3 + url_launcher_macos: 5335912b679c073563f29d89d33d10d459f95451 video_compress: c896234f100791b5fef7f049afa38f6d2ef7b42f wakelock_macos: bc3f2a9bd8d2e6c89fee1e1822e7ddac3bd004a9 - WebRTC-SDK: e16ed5e9f54d2a983d5f1f479a4b55f20da202fe + WebRTC-SDK: 566e58d2916cb79d770350169a449ea523f5db7c + window_to_front: 4cdc24ddd8461ad1a55fa06286d6a79d8b29e8d8 PODFILE CHECKSUM: 9b8d08a513b178c33212d1b54cc9e3cba756d95b -COCOAPODS: 1.11.3 +COCOAPODS: 1.12.1 diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index 5a481e7f..dd746c27 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 51; + objectVersion = 54; objects = { /* Begin PBXAggregateTarget section */ @@ -202,7 +202,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 0930; + LastUpgradeCheck = 1300; ORGANIZATIONNAME = "The Flutter Authors"; TargetAttributes = { 33CC10EC2044A3C60003C045 = { @@ -263,26 +263,29 @@ "${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework", "${BUILT_PRODUCTS_DIR}/ReachabilitySwift/Reachability.framework", "${BUILT_PRODUCTS_DIR}/audio_session/audio_session.framework", - "${BUILT_PRODUCTS_DIR}/connectivity_plus_macos/connectivity_plus_macos.framework", + "${BUILT_PRODUCTS_DIR}/connectivity_plus/connectivity_plus.framework", "${BUILT_PRODUCTS_DIR}/desktop_drop/desktop_drop.framework", "${BUILT_PRODUCTS_DIR}/desktop_lifecycle/desktop_lifecycle.framework", - "${BUILT_PRODUCTS_DIR}/device_info_plus_macos/device_info_plus_macos.framework", + "${BUILT_PRODUCTS_DIR}/device_info_plus/device_info_plus.framework", + "${BUILT_PRODUCTS_DIR}/dynamic_color/dynamic_color.framework", "${BUILT_PRODUCTS_DIR}/emoji_picker_flutter/emoji_picker_flutter.framework", + "${BUILT_PRODUCTS_DIR}/flutter_app_badger/flutter_app_badger.framework", "${BUILT_PRODUCTS_DIR}/flutter_local_notifications/flutter_local_notifications.framework", "${BUILT_PRODUCTS_DIR}/flutter_secure_storage_macos/flutter_secure_storage_macos.framework", "${BUILT_PRODUCTS_DIR}/flutter_web_auth_2/flutter_web_auth_2.framework", "${BUILT_PRODUCTS_DIR}/flutter_webrtc/flutter_webrtc.framework", "${BUILT_PRODUCTS_DIR}/geolocator_apple/geolocator_apple.framework", "${BUILT_PRODUCTS_DIR}/just_audio/just_audio.framework", - "${BUILT_PRODUCTS_DIR}/package_info_plus_macos/package_info_plus_macos.framework", - "${BUILT_PRODUCTS_DIR}/path_provider_macos/path_provider_macos.framework", + "${BUILT_PRODUCTS_DIR}/package_info_plus/package_info_plus.framework", + "${BUILT_PRODUCTS_DIR}/path_provider_foundation/path_provider_foundation.framework", "${BUILT_PRODUCTS_DIR}/record_macos/record_macos.framework", - "${BUILT_PRODUCTS_DIR}/share_plus_macos/share_plus_macos.framework", + "${BUILT_PRODUCTS_DIR}/share_plus/share_plus.framework", "${BUILT_PRODUCTS_DIR}/shared_preferences_macos/shared_preferences_macos.framework", "${BUILT_PRODUCTS_DIR}/sqflite/sqflite.framework", "${BUILT_PRODUCTS_DIR}/url_launcher_macos/url_launcher_macos.framework", "${BUILT_PRODUCTS_DIR}/video_compress/video_compress.framework", "${BUILT_PRODUCTS_DIR}/wakelock_macos/wakelock_macos.framework", + "${BUILT_PRODUCTS_DIR}/window_to_front/window_to_front.framework", "${PODS_XCFRAMEWORKS_BUILD_DIR}/WebRTC-SDK/WebRTC.framework/WebRTC", ); name = "[CP] Embed Pods Frameworks"; @@ -290,26 +293,29 @@ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reachability.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/audio_session.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/connectivity_plus_macos.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/connectivity_plus.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/desktop_drop.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/desktop_lifecycle.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/device_info_plus_macos.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/device_info_plus.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/dynamic_color.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/emoji_picker_flutter.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_app_badger.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_local_notifications.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_secure_storage_macos.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_web_auth_2.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_webrtc.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/geolocator_apple.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/just_audio.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/package_info_plus_macos.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_macos.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/package_info_plus.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_foundation.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/record_macos.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/share_plus_macos.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/share_plus.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences_macos.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher_macos.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/video_compress.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/wakelock_macos.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/window_to_front.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework", ); runOnlyForDeploymentPostprocessing = 0; @@ -319,6 +325,7 @@ }; 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -467,12 +474,13 @@ CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = 4NXF6Z997G; + DEVELOPMENT_TEAM = M3YH78WUB7; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Flutter/ephemeral", ); INFOPLIST_FILE = Runner/Info.plist; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.productivity"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", @@ -599,12 +607,13 @@ CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = 4NXF6Z997G; + DEVELOPMENT_TEAM = M3YH78WUB7; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Flutter/ephemeral", ); INFOPLIST_FILE = Runner/Info.plist; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.productivity"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", @@ -625,12 +634,13 @@ CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = 4NXF6Z997G; + DEVELOPMENT_TEAM = M3YH78WUB7; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Flutter/ephemeral", ); INFOPLIST_FILE = Runner/Info.plist; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.productivity"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", diff --git a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 50396d3d..4dfb640c 100644 --- a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ @@ -27,6 +27,15 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> + + + + @@ -39,17 +48,6 @@ - - - - - - - - diff --git a/macos/Runner/DebugProfile.entitlements b/macos/Runner/DebugProfile.entitlements index 5d5d5483..559bbc73 100644 --- a/macos/Runner/DebugProfile.entitlements +++ b/macos/Runner/DebugProfile.entitlements @@ -12,6 +12,10 @@ com.apple.security.cs.allow-jit + com.apple.security.device.audio-input + + com.apple.security.device.camera + com.apple.security.files.downloads.read-write com.apple.security.files.user-selected.read-only @@ -20,5 +24,7 @@ com.apple.security.network.server + com.apple.security.personal-information.location + diff --git a/macos/Runner/Release.entitlements b/macos/Runner/Release.entitlements index 61a7ad0c..7b5a4b92 100644 --- a/macos/Runner/Release.entitlements +++ b/macos/Runner/Release.entitlements @@ -10,6 +10,10 @@ com.apple.security.assets.pictures.read-only + com.apple.security.device.audio-input + + com.apple.security.device.camera + com.apple.security.files.downloads.read-write com.apple.security.files.user-selected.read-only @@ -18,5 +22,7 @@ com.apple.security.network.server + com.apple.security.personal-information.location + From e61682ef4640d82a4436e397e6f083b39e36f8d8 Mon Sep 17 00:00:00 2001 From: TheOneWithTheBraid Date: Fri, 19 May 2023 13:46:50 +0200 Subject: [PATCH 2/6] feat: update macOS build information for macOS Ventura Signed-off-by: TheOneWithTheBraid --- .metadata | 25 +- macos/.gitignore | 1 + macos/Flutter/Flutter-Debug.xcconfig | 2 +- macos/Flutter/Flutter-Release.xcconfig | 2 +- macos/Podfile | 3 + macos/Podfile.lock | 2 +- macos/Runner.xcodeproj/project.pbxproj | 298 ++++++++++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 19 +- macos/Runner/Base.lproj/MainMenu.xib | 4 + macos/Runner/Configs/AppInfo.xcconfig | 4 +- macos/Runner/DebugProfile.entitlements | 10 - macos/Runner/MainFlutterWindow.swift | 2 +- macos/Runner/Release.entitlements | 20 -- 13 files changed, 225 insertions(+), 167 deletions(-) diff --git a/.metadata b/.metadata index 3fdf5328..c6eb794b 100644 --- a/.metadata +++ b/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled. version: - revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 + revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2 channel: stable project_type: app @@ -13,26 +13,11 @@ project_type: app migration: platforms: - platform: root - create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 - base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 - - platform: android - create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 - base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 - - platform: ios - create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 - base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 - - platform: linux - create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 - base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 + create_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2 + base_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2 - platform: macos - create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 - base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 - - platform: web - create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 - base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 - - platform: windows - create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 - base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849 + create_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2 + base_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2 # User provided section diff --git a/macos/.gitignore b/macos/.gitignore index d2fd3772..746adbb6 100644 --- a/macos/.gitignore +++ b/macos/.gitignore @@ -3,4 +3,5 @@ **/Pods/ # Xcode-related +**/dgph **/xcuserdata/ diff --git a/macos/Flutter/Flutter-Debug.xcconfig b/macos/Flutter/Flutter-Debug.xcconfig index 785633d3..4b81f9b2 100644 --- a/macos/Flutter/Flutter-Debug.xcconfig +++ b/macos/Flutter/Flutter-Debug.xcconfig @@ -1,2 +1,2 @@ -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/macos/Flutter/Flutter-Release.xcconfig b/macos/Flutter/Flutter-Release.xcconfig index 5fba960c..5caa9d15 100644 --- a/macos/Flutter/Flutter-Release.xcconfig +++ b/macos/Flutter/Flutter-Release.xcconfig @@ -1,2 +1,2 @@ -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/macos/Podfile b/macos/Podfile index 22966c3f..0899b0d1 100644 --- a/macos/Podfile +++ b/macos/Podfile @@ -31,6 +31,9 @@ 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| diff --git a/macos/Podfile.lock b/macos/Podfile.lock index 241265a5..eb048151 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -173,6 +173,6 @@ SPEC CHECKSUMS: WebRTC-SDK: 566e58d2916cb79d770350169a449ea523f5db7c window_to_front: 4cdc24ddd8461ad1a55fa06286d6a79d8b29e8d8 -PODFILE CHECKSUM: 9b8d08a513b178c33212d1b54cc9e3cba756d95b +PODFILE CHECKSUM: 7bf5109c0981c3091ef5d141345b1f629b088093 COCOAPODS: 1.12.1 diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index dd746c27..e3fd966c 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -21,15 +21,24 @@ /* 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 */; }; - 9795BB5F91BF4775B6B0D9D5 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F69524ABCBB1D526AF7967B9 /* Pods_Runner.framework */; }; + 9CAF203E1D098383F2EDFFCB /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3C62FEBAA272B5A33AFFC95 /* Pods_Runner.framework */; }; + B212FB9867A39B6C61C39E15 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1CEA3AEDDC9976F00DB3AFE /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ + 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC10EC2044A3C60003C045; + remoteInfo = Runner; + }; 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 33CC10E52044A3C60003C045 /* Project object */; @@ -53,10 +62,12 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 2D20EFA3D49BBBDA1F07645D /* 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 = ""; }; + 2D119A6B273B2CE4A6AE3322 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* FluffyChat.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FluffyChat.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10ED2044A3C60003C045 /* fluffychat.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = fluffychat.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 = ""; }; @@ -68,25 +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 = ""; }; - 3CD34DC616BB2AF9B1580285 /* 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 = ""; }; + 35E6B919318905352ECC7D69 /* 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 = ""; }; + 5CDC3DD55F4AC23D2067B292 /* 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 = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - 997C663EFCBF8E403128D1D1 /* 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 = ""; }; - F69524ABCBB1D526AF7967B9 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A1CEA3AEDDC9976F00DB3AFE /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AF767714B5564068E3D500A8 /* 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 = ""; }; + B3C62FEBAA272B5A33AFFC95 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B5C1522B2F3865267414BD3C /* 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 = ""; }; + CC70F3DF47EEC43FC2D35C75 /* 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 = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 331C80D2294CF70F00263BE5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B212FB9867A39B6C61C39E15 /* Pods_RunnerTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 33CC10EA2044A3C60003C045 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9795BB5F91BF4775B6B0D9D5 /* Pods_Runner.framework in Frameworks */, + 9CAF203E1D098383F2EDFFCB /* 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 = ( @@ -103,16 +134,18 @@ children = ( 33FAB671232836740065AC1E /* Runner */, 33CEB47122A05771004F2AC0 /* Flutter */, + 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - E41DDAA8A3B17F99D7E5251E /* Pods */, + F9F203356080D460FB6D4567 /* Pods */, ); sourceTree = ""; }; 33CC10EE2044A3C60003C045 /* Products */ = { isa = PBXGroup; children = ( - 33CC10ED2044A3C60003C045 /* FluffyChat.app */, + 33CC10ED2044A3C60003C045 /* fluffychat.app */, + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, ); name = Products; sourceTree = ""; @@ -155,35 +188,59 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - F69524ABCBB1D526AF7967B9 /* Pods_Runner.framework */, + B3C62FEBAA272B5A33AFFC95 /* Pods_Runner.framework */, + A1CEA3AEDDC9976F00DB3AFE /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; }; - E41DDAA8A3B17F99D7E5251E /* Pods */ = { + F9F203356080D460FB6D4567 /* Pods */ = { isa = PBXGroup; children = ( - 2D20EFA3D49BBBDA1F07645D /* Pods-Runner.debug.xcconfig */, - 997C663EFCBF8E403128D1D1 /* Pods-Runner.release.xcconfig */, - 3CD34DC616BB2AF9B1580285 /* Pods-Runner.profile.xcconfig */, + CC70F3DF47EEC43FC2D35C75 /* Pods-Runner.debug.xcconfig */, + B5C1522B2F3865267414BD3C /* Pods-Runner.release.xcconfig */, + AF767714B5564068E3D500A8 /* Pods-Runner.profile.xcconfig */, + 5CDC3DD55F4AC23D2067B292 /* Pods-RunnerTests.debug.xcconfig */, + 2D119A6B273B2CE4A6AE3322 /* Pods-RunnerTests.release.xcconfig */, + 35E6B919318905352ECC7D69 /* 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 = ( + A2C57B9FEBA522B904661FEC /* [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 = ( - E26D3B733E5CAE51F86A6BE1 /* [CP] Check Pods Manifest.lock */, + 213E973AEF6461D8FA01037B /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 28EE3A13194E86CCA3B8236A /* [CP] Embed Pods Frameworks */, + 889FA79FC2223BE511C611AF /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -192,7 +249,7 @@ ); name = Runner; productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* FluffyChat.app */; + productReference = 33CC10ED2044A3C60003C045 /* fluffychat.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -203,8 +260,12 @@ attributes = { LastSwiftUpdateCheck = 0920; LastUpgradeCheck = 1300; - ORGANIZATIONNAME = "The Flutter Authors"; + ORGANIZATIONNAME = ""; TargetAttributes = { + 331C80D4294CF70F00263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 33CC10EC2044A3C60003C045; + }; 33CC10EC2044A3C60003C045 = { CreatedOnToolsVersion = 9.2; LastSwiftMigration = 1100; @@ -222,7 +283,7 @@ }; }; buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 8.0"; + compatibilityVersion = "Xcode 9.3"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -235,12 +296,20 @@ projectRoot = ""; targets = ( 33CC10EC2044A3C60003C045 /* Runner */, + 331C80D4294CF70F00263BE5 /* RunnerTests */, 33CC111A2044C6BA0003C045 /* Flutter Assemble */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ + 331C80D3294CF70F00263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 33CC10EB2044A3C60003C045 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -253,74 +322,26 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 28EE3A13194E86CCA3B8236A /* [CP] Embed Pods Frameworks */ = { + 213E973AEF6461D8FA01037B /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework", - "${BUILT_PRODUCTS_DIR}/ReachabilitySwift/Reachability.framework", - "${BUILT_PRODUCTS_DIR}/audio_session/audio_session.framework", - "${BUILT_PRODUCTS_DIR}/connectivity_plus/connectivity_plus.framework", - "${BUILT_PRODUCTS_DIR}/desktop_drop/desktop_drop.framework", - "${BUILT_PRODUCTS_DIR}/desktop_lifecycle/desktop_lifecycle.framework", - "${BUILT_PRODUCTS_DIR}/device_info_plus/device_info_plus.framework", - "${BUILT_PRODUCTS_DIR}/dynamic_color/dynamic_color.framework", - "${BUILT_PRODUCTS_DIR}/emoji_picker_flutter/emoji_picker_flutter.framework", - "${BUILT_PRODUCTS_DIR}/flutter_app_badger/flutter_app_badger.framework", - "${BUILT_PRODUCTS_DIR}/flutter_local_notifications/flutter_local_notifications.framework", - "${BUILT_PRODUCTS_DIR}/flutter_secure_storage_macos/flutter_secure_storage_macos.framework", - "${BUILT_PRODUCTS_DIR}/flutter_web_auth_2/flutter_web_auth_2.framework", - "${BUILT_PRODUCTS_DIR}/flutter_webrtc/flutter_webrtc.framework", - "${BUILT_PRODUCTS_DIR}/geolocator_apple/geolocator_apple.framework", - "${BUILT_PRODUCTS_DIR}/just_audio/just_audio.framework", - "${BUILT_PRODUCTS_DIR}/package_info_plus/package_info_plus.framework", - "${BUILT_PRODUCTS_DIR}/path_provider_foundation/path_provider_foundation.framework", - "${BUILT_PRODUCTS_DIR}/record_macos/record_macos.framework", - "${BUILT_PRODUCTS_DIR}/share_plus/share_plus.framework", - "${BUILT_PRODUCTS_DIR}/shared_preferences_macos/shared_preferences_macos.framework", - "${BUILT_PRODUCTS_DIR}/sqflite/sqflite.framework", - "${BUILT_PRODUCTS_DIR}/url_launcher_macos/url_launcher_macos.framework", - "${BUILT_PRODUCTS_DIR}/video_compress/video_compress.framework", - "${BUILT_PRODUCTS_DIR}/wakelock_macos/wakelock_macos.framework", - "${BUILT_PRODUCTS_DIR}/window_to_front/window_to_front.framework", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/WebRTC-SDK/WebRTC.framework/WebRTC", + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reachability.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/audio_session.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/connectivity_plus.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/desktop_drop.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/desktop_lifecycle.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/device_info_plus.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/dynamic_color.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/emoji_picker_flutter.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_app_badger.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_local_notifications.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_secure_storage_macos.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_web_auth_2.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_webrtc.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/geolocator_apple.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/just_audio.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/package_info_plus.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_foundation.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/record_macos.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/share_plus.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences_macos.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher_macos.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/video_compress.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/wakelock_macos.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/window_to_front.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework", + "$(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 */ = { @@ -359,9 +380,26 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh\ntouch Flutter/ephemeral/tripwire\n"; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - E26D3B733E5CAE51F86A6BE1 /* [CP] Check Pods Manifest.lock */ = { + 889FA79FC2223BE511C611AF /* [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; + }; + A2C57B9FEBA522B904661FEC /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -376,7 +414,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -386,6 +424,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; @@ -399,6 +445,11 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC10EC2044A3C60003C045 /* Runner */; + targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; + }; 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; @@ -419,6 +470,51 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ + 331C80DB294CF71000263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 5CDC3DD55F4AC23D2067B292 /* Pods-RunnerTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = im.fluffychat.fluffychat.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/fluffychat.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/fluffychat"; + }; + name = Debug; + }; + 331C80DC294CF71000263BE5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2D119A6B273B2CE4A6AE3322 /* Pods-RunnerTests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = im.fluffychat.fluffychat.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/fluffychat.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/fluffychat"; + }; + name = Release; + }; + 331C80DD294CF71000263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 35E6B919318905352ECC7D69 /* Pods-RunnerTests.profile.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = im.fluffychat.fluffychat.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/fluffychat.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/fluffychat"; + }; + name = Profile; + }; 338D0CE9231458BD00FA5F75 /* Profile */ = { isa = XCBuildConfiguration; baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; @@ -457,7 +553,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 12.2; + MACOSX_DEPLOYMENT_TARGET = 10.14; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; @@ -474,18 +570,14 @@ CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = M3YH78WUB7; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter/ephemeral", - ); INFOPLIST_FILE = Runner/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = FluffyChat; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.productivity"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); - PRODUCT_NAME = FluffyChat; + MACOSX_DEPLOYMENT_TARGET = 12.2; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; }; @@ -543,7 +635,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 12.2; + MACOSX_DEPLOYMENT_TARGET = 10.14; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -590,7 +682,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 12.2; + MACOSX_DEPLOYMENT_TARGET = 10.14; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; @@ -607,18 +699,14 @@ CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = M3YH78WUB7; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter/ephemeral", - ); INFOPLIST_FILE = Runner/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = FluffyChat; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.productivity"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); - PRODUCT_NAME = FluffyChat; + MACOSX_DEPLOYMENT_TARGET = 12.2; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -634,18 +722,14 @@ CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = M3YH78WUB7; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter/ephemeral", - ); INFOPLIST_FILE = Runner/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = FluffyChat; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.productivity"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); - PRODUCT_NAME = FluffyChat; + MACOSX_DEPLOYMENT_TARGET = 12.2; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; }; @@ -670,6 +754,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 4dfb640c..689b71a4 100644 --- a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -15,7 +15,7 @@ @@ -31,19 +31,20 @@ + skipped = "NO" + parallelizable = "YES"> @@ -64,14 +65,14 @@ diff --git a/macos/Runner/Base.lproj/MainMenu.xib b/macos/Runner/Base.lproj/MainMenu.xib index 537341ab..80e867a4 100644 --- a/macos/Runner/Base.lproj/MainMenu.xib +++ b/macos/Runner/Base.lproj/MainMenu.xib @@ -323,6 +323,10 @@ + + + + diff --git a/macos/Runner/Configs/AppInfo.xcconfig b/macos/Runner/Configs/AppInfo.xcconfig index 362569a7..d7153bf1 100644 --- a/macos/Runner/Configs/AppInfo.xcconfig +++ b/macos/Runner/Configs/AppInfo.xcconfig @@ -8,7 +8,7 @@ PRODUCT_NAME = fluffychat // The application's bundle identifier -PRODUCT_BUNDLE_IDENTIFIER = chat.fluffy.fluffychat +PRODUCT_BUNDLE_IDENTIFIER = im.fluffychat.fluffychat // The copyright displayed in application information -PRODUCT_COPYRIGHT = Copyright © 2020 chat.fluffy. All rights reserved. +PRODUCT_COPYRIGHT = Copyright © 2023 im.fluffychat. All rights reserved. diff --git a/macos/Runner/DebugProfile.entitlements b/macos/Runner/DebugProfile.entitlements index 559bbc73..4704635a 100644 --- a/macos/Runner/DebugProfile.entitlements +++ b/macos/Runner/DebugProfile.entitlements @@ -4,22 +4,12 @@ com.apple.security.app-sandbox - com.apple.security.assets.movies.read-only - - com.apple.security.assets.music.read-only - - com.apple.security.assets.pictures.read-only - com.apple.security.cs.allow-jit com.apple.security.device.audio-input com.apple.security.device.camera - com.apple.security.files.downloads.read-write - - com.apple.security.files.user-selected.read-only - com.apple.security.network.client com.apple.security.network.server 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 7b5a4b92..852fa1a4 100644 --- a/macos/Runner/Release.entitlements +++ b/macos/Runner/Release.entitlements @@ -4,25 +4,5 @@ com.apple.security.app-sandbox - com.apple.security.assets.movies.read-only - - com.apple.security.assets.music.read-only - - com.apple.security.assets.pictures.read-only - - com.apple.security.device.audio-input - - com.apple.security.device.camera - - com.apple.security.files.downloads.read-write - - com.apple.security.files.user-selected.read-only - - com.apple.security.network.client - - com.apple.security.network.server - - com.apple.security.personal-information.location - From d288603c0761439bc0a335a78a71debadfb1504b Mon Sep 17 00:00:00 2001 From: TheOneWithTheBraid Date: Fri, 19 May 2023 14:03:18 +0200 Subject: [PATCH 3/6] feat: clean up macOS build metadata Signed-off-by: TheOneWithTheBraid --- macos/Podfile | 3 - macos/Podfile.lock | 2 +- macos/Runner.xcodeproj/project.pbxproj | 166 ++----------------------- macos/Runner/DebugProfile.entitlements | 4 + macos/Runner/Release.entitlements | 12 ++ 5 files changed, 26 insertions(+), 161 deletions(-) diff --git a/macos/Podfile b/macos/Podfile index 0899b0d1..22966c3f 100644 --- a/macos/Podfile +++ b/macos/Podfile @@ -31,9 +31,6 @@ 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| diff --git a/macos/Podfile.lock b/macos/Podfile.lock index eb048151..241265a5 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -173,6 +173,6 @@ SPEC CHECKSUMS: WebRTC-SDK: 566e58d2916cb79d770350169a449ea523f5db7c window_to_front: 4cdc24ddd8461ad1a55fa06286d6a79d8b29e8d8 -PODFILE CHECKSUM: 7bf5109c0981c3091ef5d141345b1f629b088093 +PODFILE CHECKSUM: 9b8d08a513b178c33212d1b54cc9e3cba756d95b COCOAPODS: 1.12.1 diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index e3fd966c..2b2829ad 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -21,24 +21,15 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; 9CAF203E1D098383F2EDFFCB /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3C62FEBAA272B5A33AFFC95 /* Pods_Runner.framework */; }; - B212FB9867A39B6C61C39E15 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1CEA3AEDDC9976F00DB3AFE /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC10EC2044A3C60003C045; - remoteInfo = Runner; - }; 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 33CC10E52044A3C60003C045 /* Project object */; @@ -63,11 +54,9 @@ /* Begin PBXFileReference section */ 2D119A6B273B2CE4A6AE3322 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* fluffychat.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = fluffychat.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10ED2044A3C60003C045 /* FluffyChat.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FluffyChat.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 = ""; }; @@ -91,14 +80,6 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 331C80D2294CF70F00263BE5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - B212FB9867A39B6C61C39E15 /* Pods_RunnerTests.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 33CC10EA2044A3C60003C045 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -110,14 +91,6 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 331C80D6294CF71000263BE5 /* RunnerTests */ = { - isa = PBXGroup; - children = ( - 331C80D7294CF71000263BE5 /* RunnerTests.swift */, - ); - path = RunnerTests; - sourceTree = ""; - }; 33BA886A226E78AF003329D5 /* Configs */ = { isa = PBXGroup; children = ( @@ -134,7 +107,6 @@ children = ( 33FAB671232836740065AC1E /* Runner */, 33CEB47122A05771004F2AC0 /* Flutter */, - 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, F9F203356080D460FB6D4567 /* Pods */, @@ -144,8 +116,7 @@ 33CC10EE2044A3C60003C045 /* Products */ = { isa = PBXGroup; children = ( - 33CC10ED2044A3C60003C045 /* fluffychat.app */, - 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, + 33CC10ED2044A3C60003C045 /* FluffyChat.app */, ); name = Products; sourceTree = ""; @@ -204,32 +175,12 @@ 2D119A6B273B2CE4A6AE3322 /* Pods-RunnerTests.release.xcconfig */, 35E6B919318905352ECC7D69 /* 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 = ( - A2C57B9FEBA522B904661FEC /* [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" */; @@ -249,7 +200,7 @@ ); name = Runner; productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* fluffychat.app */; + productReference = 33CC10ED2044A3C60003C045 /* FluffyChat.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -262,10 +213,6 @@ LastUpgradeCheck = 1300; ORGANIZATIONNAME = ""; TargetAttributes = { - 331C80D4294CF70F00263BE5 = { - CreatedOnToolsVersion = 14.0; - TestTargetID = 33CC10EC2044A3C60003C045; - }; 33CC10EC2044A3C60003C045 = { CreatedOnToolsVersion = 9.2; LastSwiftMigration = 1100; @@ -296,20 +243,12 @@ projectRoot = ""; targets = ( 33CC10EC2044A3C60003C045 /* Runner */, - 331C80D4294CF70F00263BE5 /* RunnerTests */, 33CC111A2044C6BA0003C045 /* Flutter Assemble */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 331C80D3294CF70F00263BE5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; 33CC10EB2044A3C60003C045 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -399,39 +338,9 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - A2C57B9FEBA522B904661FEC /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 331C80D1294CF70F00263BE5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 33CC10E92044A3C60003C045 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -445,11 +354,6 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC10EC2044A3C60003C045 /* Runner */; - targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; - }; 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; @@ -470,51 +374,6 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 331C80DB294CF71000263BE5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5CDC3DD55F4AC23D2067B292 /* Pods-RunnerTests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = im.fluffychat.fluffychat.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/fluffychat.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/fluffychat"; - }; - name = Debug; - }; - 331C80DC294CF71000263BE5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 2D119A6B273B2CE4A6AE3322 /* Pods-RunnerTests.release.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = im.fluffychat.fluffychat.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/fluffychat.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/fluffychat"; - }; - name = Release; - }; - 331C80DD294CF71000263BE5 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 35E6B919318905352ECC7D69 /* Pods-RunnerTests.profile.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = im.fluffychat.fluffychat.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/fluffychat.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/fluffychat"; - }; - name = Profile; - }; 338D0CE9231458BD00FA5F75 /* Profile */ = { isa = XCBuildConfiguration; baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; @@ -553,7 +412,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 12.2; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; @@ -578,6 +437,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 12.2; + PRODUCT_COPYRIGHT = "Copyright © 2023 FluffyChat authors. All rights reserved."; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; }; @@ -635,7 +495,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 12.2; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -682,7 +542,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 12.2; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; @@ -707,6 +567,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 12.2; + PRODUCT_COPYRIGHT = "Copyright © 2023 FluffyChat authors. All rights reserved."; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -730,6 +591,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 12.2; + PRODUCT_COPYRIGHT = "Copyright © 2023 FluffyChat authors. All rights reserved."; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; }; @@ -754,16 +616,6 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 331C80DB294CF71000263BE5 /* Debug */, - 331C80DC294CF71000263BE5 /* Release */, - 331C80DD294CF71000263BE5 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/macos/Runner/DebugProfile.entitlements b/macos/Runner/DebugProfile.entitlements index 4704635a..9cf23fd5 100644 --- a/macos/Runner/DebugProfile.entitlements +++ b/macos/Runner/DebugProfile.entitlements @@ -4,12 +4,16 @@ com.apple.security.app-sandbox + com.apple.security.assets.pictures.read-only + com.apple.security.cs.allow-jit com.apple.security.device.audio-input com.apple.security.device.camera + com.apple.security.files.user-selected.read-write + com.apple.security.network.client com.apple.security.network.server diff --git a/macos/Runner/Release.entitlements b/macos/Runner/Release.entitlements index 852fa1a4..f7c21660 100644 --- a/macos/Runner/Release.entitlements +++ b/macos/Runner/Release.entitlements @@ -4,5 +4,17 @@ com.apple.security.app-sandbox + com.apple.security.assets.pictures.read-only + + com.apple.security.device.audio-input + + com.apple.security.device.camera + + com.apple.security.files.user-selected.read-write + + com.apple.security.network.client + + com.apple.security.personal-information.location + From c3b3f762eb8fd0e66c89308da594ee0c69a3181f Mon Sep 17 00:00:00 2001 From: TheOneWithTheBraid Date: Fri, 19 May 2023 14:11:27 +0200 Subject: [PATCH 4/6] feat: set display information correctly Signed-off-by: TheOneWithTheBraid --- macos/Runner.xcodeproj/project.pbxproj | 6 +++--- macos/Runner/Configs/AppInfo.xcconfig | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index 2b2829ad..4680041f 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -447,7 +447,7 @@ isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_NAME = "FluffyChat"; }; name = Profile; }; @@ -601,7 +601,7 @@ isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_NAME = "FluffyChat"; }; name = Debug; }; @@ -609,7 +609,7 @@ isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_STYLE = Automatic; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_NAME = "FluffyChat"; }; name = Release; }; diff --git a/macos/Runner/Configs/AppInfo.xcconfig b/macos/Runner/Configs/AppInfo.xcconfig index d7153bf1..11b3701b 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 = fluffychat +PRODUCT_NAME = FluffyChat // The application's bundle identifier PRODUCT_BUNDLE_IDENTIFIER = im.fluffychat.fluffychat // The copyright displayed in application information -PRODUCT_COPYRIGHT = Copyright © 2023 im.fluffychat. All rights reserved. +PRODUCT_COPYRIGHT = Copyright © 2023 FluffyChat authors. All rights reserved. From fd1b62fc8d64ba8e35c969fd1f94f63177fd0ee3 Mon Sep 17 00:00:00 2001 From: TheOneWithTheBraid Date: Fri, 19 May 2023 17:58:13 +0200 Subject: [PATCH 5/6] chore: update macOS icons and add build script Signed-off-by: TheOneWithTheBraid --- macos/Podfile | 3 + macos/Podfile.lock | 2 +- .../AppIcon.appiconset/1024-mac.png | Bin 0 -> 21100 bytes .../AppIcon.appiconset/128-mac.png | Bin 0 -> 2868 bytes .../AppIcon.appiconset/16-mac.png | Bin 0 -> 316 bytes .../AppIcon.appiconset/256-mac.png | Bin 0 -> 5382 bytes .../AppIcon.appiconset/32-mac.png | Bin 0 -> 878 bytes .../AppIcon.appiconset/512-mac.png | Bin 0 -> 10898 bytes .../AppIcon.appiconset/64-mac.png | Bin 0 -> 1462 bytes .../AppIcon.appiconset/Contents.json | 69 +----------------- .../AppIcon.appiconset/app_icon_1024.png | Bin 70704 -> 0 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 5117 -> 0 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 868 -> 0 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 10426 -> 0 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 1478 -> 0 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 20898 -> 0 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 2636 -> 0 bytes scripts/build-macos.sh | 33 +++++++++ scripts/prepare-macos.sh | 8 ++ 19 files changed, 46 insertions(+), 69 deletions(-) create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/1024-mac.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/128-mac.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/16-mac.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/256-mac.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/32-mac.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/512-mac.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/64-mac.png delete mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png delete mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png delete mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png delete mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png delete mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png delete mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png delete mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png create mode 100755 scripts/build-macos.sh create mode 100755 scripts/prepare-macos.sh diff --git a/macos/Podfile b/macos/Podfile index 22966c3f..b9bae3ab 100644 --- a/macos/Podfile +++ b/macos/Podfile @@ -36,5 +36,8 @@ 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.delete 'MACOSX_DEPLOYMENT_TARGET' + end end end diff --git a/macos/Podfile.lock b/macos/Podfile.lock index 241265a5..2eda041b 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -173,6 +173,6 @@ SPEC CHECKSUMS: WebRTC-SDK: 566e58d2916cb79d770350169a449ea523f5db7c window_to_front: 4cdc24ddd8461ad1a55fa06286d6a79d8b29e8d8 -PODFILE CHECKSUM: 9b8d08a513b178c33212d1b54cc9e3cba756d95b +PODFILE CHECKSUM: d0975b16fbdecb73b109d8fbc88aa77ffe4c7a8d COCOAPODS: 1.12.1 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/1024-mac.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/1024-mac.png new file mode 100644 index 0000000000000000000000000000000000000000..7d0807b33191660e2ae241ad1843904e04a19bad GIT binary patch literal 21100 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 Sjp9yg*j=zBfw%reumAwzVTnor literal 0 HcmV?d00001 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/16-mac.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/16-mac.png new file mode 100644 index 0000000000000000000000000000000000000000..77ef66d1d85f5a03cbc3abf45a4debc68f0a56ea GIT binary patch literal 316 zcmV-C0mJ@MNk&FA0RRA3MM6+kP&il$0000G0000F000jF06|PpNM8T|00D3uNs^db}_b09H^qAg%xa08j$}odGHk z01yBHKqe&s6rcK0#CX3LKQWjka0%pa8Z2s{0RH;pHw!LM%l*FwkGG9U5&LcKadQPu zX^`Ccw$pT`#%%OSVQa_w@$>x^{?mn*P>1T*ld)1v>|b=VF9l1q*w$Kj>n};wjk*{J zSG=RD$DbhB#ysFBdphl1e?i>D<*rw~{aLgVE-3X00nE0d)90BoyZ^*?@UXAFR-2@C Ot7brz{mjzUcGLh-+=r+T+hT5VHS8Ouz(q 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

w=C5ao|3ECyfU$H6MHq5 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

{7BP9k|};L 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

btG_lg;HE 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 TJ0T70Ndy#RRHdsV&4T|A1nR{U diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png deleted file mode 100644 index 6154ba14c8033547731b586a6949328ae480c18d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1478 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 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png deleted file mode 100644 index 7de4d1f3eb71d7f4a2b79a2a2aba63f75c961dd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2636 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 /dev/null; then + brew install flutter +fi + +brew install libolm + From 4e5f2ff05f588732d9b22602ccd272c2e3cc3246 Mon Sep 17 00:00:00 2001 From: TheOneWithTheBraid Date: Fri, 19 May 2023 18:38:32 +0200 Subject: [PATCH 6/6] fix: path of libolm Signed-off-by: TheOneWithTheBraid --- scripts/build-macos.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/build-macos.sh b/scripts/build-macos.sh index 8d4368b0..11d3e4a0 100755 --- a/scripts/build-macos.sh +++ b/scripts/build-macos.sh @@ -30,4 +30,6 @@ FLUFFYCHAT_ORIG_TEAM="4NXF6Z997G" ### Make release build ### flutter build macos --release -cp /usr/local/Cellar/libolm/**/lib/libolm.3.dylib build/macos/Build/Products/Release/FluffyChat.app/Contents/MacOS/libolm.3.dylib \ No newline at end of file +cp /usr/local/Cellar/libolm/**/lib/libolm.3.dylib build/macos/Build/Products/Release/FluffyChat.app/Contents/Frameworks/libolm.3.dylib + +echo "Build build/macos/Build/Products/Release/FluffyChat.app"