iOS 2.7.3 - Removed Music Integration & Refactoring

This commit is contained in:
2026-02-02 00:00:03 -07:00
parent 25688b0615
commit aa3ddfc7cb
4 changed files with 106 additions and 103 deletions

View File

@@ -466,7 +466,7 @@
CODE_SIGN_ENTITLEMENTS = Ascently/Ascently.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 49;
CURRENT_PROJECT_VERSION = 50;
DEVELOPMENT_TEAM = 4BC9Y2LL4B;
DRIVERKIT_DEPLOYMENT_TARGET = 24.6;
ENABLE_PREVIEWS = YES;
@@ -491,7 +491,7 @@
"@executable_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 15.6;
MARKETING_VERSION = 2.7.2;
MARKETING_VERSION = 2.7.3;
PRODUCT_BUNDLE_IDENTIFIER = com.atridad.Ascently;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -518,7 +518,7 @@
CODE_SIGN_ENTITLEMENTS = Ascently/Ascently.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 49;
CURRENT_PROJECT_VERSION = 50;
DEVELOPMENT_TEAM = 4BC9Y2LL4B;
DRIVERKIT_DEPLOYMENT_TARGET = 24.6;
ENABLE_PREVIEWS = YES;
@@ -543,7 +543,7 @@
"@executable_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 15.6;
MARKETING_VERSION = 2.7.2;
MARKETING_VERSION = 2.7.3;
PRODUCT_BUNDLE_IDENTIFIER = com.atridad.Ascently;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -610,7 +610,7 @@
ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
CODE_SIGN_ENTITLEMENTS = SessionStatusLiveExtension.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 49;
CURRENT_PROJECT_VERSION = 50;
DEVELOPMENT_TEAM = 4BC9Y2LL4B;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = SessionStatusLive/Info.plist;
@@ -622,7 +622,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 2.7.2;
MARKETING_VERSION = 2.7.3;
PRODUCT_BUNDLE_IDENTIFIER = com.atridad.Ascently.SessionStatusLive;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
@@ -641,7 +641,7 @@
ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
CODE_SIGN_ENTITLEMENTS = SessionStatusLiveExtension.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 49;
CURRENT_PROJECT_VERSION = 50;
DEVELOPMENT_TEAM = 4BC9Y2LL4B;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = SessionStatusLive/Info.plist;
@@ -653,7 +653,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 2.7.2;
MARKETING_VERSION = 2.7.3;
PRODUCT_BUNDLE_IDENTIFIER = com.atridad.Ascently.SessionStatusLive;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;

View File

@@ -244,7 +244,7 @@ struct AddEditProblemView: View {
let tempImagePaths = imagePaths.filter { !$0.isEmpty && !imagePaths.contains($0) }
for imagePath in tempImagePaths {
ImageManager.shared.deleteImage(atPath: imagePath)
_ = ImageManager.shared.deleteImage(atPath: imagePath)
}
let newImagePaths = imagePaths.filter { !$0.isEmpty }

View File

@@ -682,8 +682,8 @@ struct ExportDataView: View {
private func cleanupTempFile() {
if let fileURL = tempFileURL {
let logTag = Self.logTag // Capture before entering async closure
// Clean up after a delay to ensure sharing is complete
let logTag = Self.logTag
DispatchQueue.main.asyncAfter(deadline: .now() + 5.0) {
try? FileManager.default.removeItem(at: fileURL)
AppLogger.debug(
@@ -752,12 +752,11 @@ struct SyncSection: View {
}
.foregroundColor(.primary)
if syncService.isConfigured {
// Sync Now - only show if connected
if syncService.isConnected {
// Sync Now - show with proper opacity when not available
Button(action: {
if syncService.isConnected {
performSync()
}
}) {
HStack {
if syncService.isSyncing {
@@ -767,8 +766,9 @@ struct SyncSection: View {
.foregroundColor(.secondary)
} else {
Image(systemName: "arrow.triangle.2.circlepath")
.foregroundColor(.green)
.foregroundColor(syncService.isConnected ? .green : .secondary)
Text("Sync Now")
.foregroundColor(syncService.isConnected ? .primary : .secondary)
Spacer()
if let lastSync = syncService.lastSyncTime {
Text(
@@ -781,11 +781,10 @@ struct SyncSection: View {
}
}
}
.disabled(syncService.isSyncing)
.foregroundColor(.primary)
}
.disabled(!syncService.isConnected || syncService.isSyncing)
.opacity(syncService.isConfigured ? 1.0 : 0.6)
// Auto-sync configuration - always visible for testing
// Auto-sync configuration
HStack {
VStack(alignment: .leading) {
Text("Auto-sync")
@@ -803,29 +802,34 @@ struct SyncSection: View {
)
.disabled(!syncService.isConnected)
}
.foregroundColor(.primary)
.opacity(syncService.isConfigured ? 1.0 : 0.6)
// Disconnect option - only show if connected
if syncService.isConnected {
// Disconnect option
Button(action: {
if syncService.isConnected {
showingDisconnectAlert = true
}
}) {
HStack {
Image(systemName: "power")
.foregroundColor(.orange)
.foregroundColor(syncService.isConnected ? .orange : .secondary)
Text("Disconnect")
.foregroundColor(syncService.isConnected ? .primary : .secondary)
Spacer()
}
}
.foregroundColor(.primary)
}
.disabled(!syncService.isConnected)
.opacity(syncService.isConfigured ? 1.0 : 0.6)
// Error message
if let error = syncService.syncError {
HStack {
Text(error)
.font(.caption)
.foregroundColor(.red)
.padding(.leading, 24)
Spacer()
}
.padding(.leading, 24)
}
}
.alert("Disconnect from Server", isPresented: $showingDisconnectAlert) {
@@ -1215,8 +1219,7 @@ struct HealthKitSection: View {
.foregroundColor(.secondary)
}
} else {
Toggle(
isOn: Binding(
Toggle(isOn: Binding(
get: { healthKitService.isEnabled },
set: { newValue in
if newValue && !healthKitService.isAuthorized {
@@ -1241,8 +1244,7 @@ struct HealthKitSection: View {
healthKitService.setEnabled(false)
}
}
)
) {
)) {
HStack {
Image(systemName: "heart.fill")
.foregroundColor(.red)
@@ -1252,13 +1254,14 @@ struct HealthKitSection: View {
.disabled(isRequestingAuthorization)
if healthKitService.isEnabled {
HStack {
VStack(alignment: .leading, spacing: 4) {
Text(
"Climbing sessions will be recorded as workouts in Apple Health"
)
Text("Climbing sessions will be recorded as workouts in Apple Health")
.font(.caption)
.foregroundColor(.secondary)
}
Spacer()
}
}
}
} header: {