diff --git a/Shellbee.xcodeproj/project.pbxproj b/Shellbee.xcodeproj/project.pbxproj index 26d724a..9b72fde 100644 --- a/Shellbee.xcodeproj/project.pbxproj +++ b/Shellbee.xcodeproj/project.pbxproj @@ -830,7 +830,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.5.2; + MARKETING_VERSION = 1.5.3; PRODUCT_BUNDLE_IDENTIFIER = "$(APP_BUNDLE_ID)"; PRODUCT_NAME = "$(TARGET_NAME)"; STRING_CATALOG_GENERATE_SYMBOLS = YES; @@ -856,9 +856,11 @@ ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO; CODE_SIGN_ENTITLEMENTS = Shellbee.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; + CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = "$(APP_DEVELOPMENT_TEAM)"; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = JQU2HR44D8; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = Config/Info.plist; @@ -869,9 +871,11 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.5.2; + MARKETING_VERSION = 1.5.3; PRODUCT_BUNDLE_IDENTIFIER = "$(APP_BUNDLE_ID)"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Shellbee App Store"; STRING_CATALOG_GENERATE_SYMBOLS = YES; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; @@ -907,7 +911,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.5.2; + MARKETING_VERSION = 1.5.3; PRODUCT_BUNDLE_IDENTIFIER = "$(APP_WIDGET_BUNDLE_ID)"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -933,9 +937,11 @@ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; CODE_SIGN_ENTITLEMENTS = ShellbeeWidgets.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; + CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = "$(APP_DEVELOPMENT_TEAM)"; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = JQU2HR44D8; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = ShellbeeWidgets/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "Shellbee Widgets"; @@ -947,9 +953,11 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.5.2; + MARKETING_VERSION = 1.5.3; PRODUCT_BUNDLE_IDENTIFIER = "$(APP_WIDGET_BUNDLE_ID)"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Shellbee Widgets App Store"; SKIP_INSTALL = YES; STRING_CATALOG_GENERATE_SYMBOLS = YES; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; diff --git a/Shellbee/Features/Logs/LogsView.swift b/Shellbee/Features/Logs/LogsView.swift index e2f7cff..3feaba0 100644 --- a/Shellbee/Features/Logs/LogsView.swift +++ b/Shellbee/Features/Logs/LogsView.swift @@ -82,11 +82,25 @@ struct LogsView: View { @ViewBuilder private var modeContent: some View { - switch mode { - case .activity: - ActivityLogContent(viewModel: activityVM) - case .log: - BridgeLogView(viewModel: bridgeVM) + let position = Binding( + get: { mode }, + set: { if let new = $0, new != mode { mode = new } } + ) + GeometryReader { geo in + ScrollView(.horizontal) { + LazyHStack(spacing: 0) { + ActivityLogContent(viewModel: activityVM) + .frame(width: geo.size.width, height: geo.size.height) + .id(LogMode.activity) + BridgeLogView(viewModel: bridgeVM) + .frame(width: geo.size.width, height: geo.size.height) + .id(LogMode.log) + } + .scrollTargetLayout() + } + .scrollTargetBehavior(.paging) + .scrollIndicators(.hidden) + .scrollPosition(id: position) } }