- Add OfflineSyncCoordinator for managing offline/online transitions - Add OfflineSyncIndicatorView for UI feedback during sync - Add SyncProgress tracking with stage descriptions and progress bars - Add delta sync support with savings tracking - Add BackgroundTaskScheduler interval configs for low-power mode - Add isProcessingTask discriminator to BackgroundTaskID - Add DeltaFetchResult generic type for efficient data fetching - Add SyncProgressStage enum with localized descriptions - Add progress reset on app launch to prevent stale state - Add delta sync savings percentage calculation - Update BackgroundSyncTests with comprehensive coverage - Add OfflineSyncTests for offline queue and conflict resolution - Mark task 22 (Token Refresh) and task 28 (Review Compliance) as done - Update Xcode project with new source files and build phases
174 lines
6.6 KiB
XML
174 lines
6.6 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<Scheme
|
|
LastUpgradeVersion = "1430"
|
|
version = "1.7">
|
|
<BuildAction
|
|
parallelizeBuildables = "YES"
|
|
buildImplicitDependencies = "YES"
|
|
runPostActionsOnFailure = "NO">
|
|
<BuildActionEntries>
|
|
<BuildActionEntry
|
|
buildForTesting = "YES"
|
|
buildForRunning = "YES"
|
|
buildForProfiling = "YES"
|
|
buildForArchiving = "YES"
|
|
buildForAnalyzing = "YES">
|
|
<BuildableReference
|
|
BuildableIdentifier = "primary"
|
|
BlueprintIdentifier = "E7AC16B355315CFFD65E4690"
|
|
BuildableName = "Kordant.app"
|
|
BlueprintName = "Kordant"
|
|
ReferencedContainer = "container:Kordant.xcodeproj">
|
|
</BuildableReference>
|
|
</BuildActionEntry>
|
|
<BuildActionEntry
|
|
buildForTesting = "YES"
|
|
buildForRunning = "YES"
|
|
buildForProfiling = "YES"
|
|
buildForArchiving = "YES"
|
|
buildForAnalyzing = "YES">
|
|
<BuildableReference
|
|
BuildableIdentifier = "primary"
|
|
BlueprintIdentifier = "9F565239D0F660D3DBD9FB02"
|
|
BuildableName = "KordantSpamShieldExtension.appex"
|
|
BlueprintName = "KordantSpamShieldExtension"
|
|
ReferencedContainer = "container:Kordant.xcodeproj">
|
|
</BuildableReference>
|
|
</BuildActionEntry>
|
|
<BuildActionEntry
|
|
buildForTesting = "YES"
|
|
buildForRunning = "NO"
|
|
buildForProfiling = "NO"
|
|
buildForArchiving = "NO"
|
|
buildForAnalyzing = "NO">
|
|
<BuildableReference
|
|
BuildableIdentifier = "primary"
|
|
BlueprintIdentifier = "B5C503572F0C73442B35B031"
|
|
BuildableName = "KordantTests.xctest"
|
|
BlueprintName = "KordantTests"
|
|
ReferencedContainer = "container:Kordant.xcodeproj">
|
|
</BuildableReference>
|
|
</BuildActionEntry>
|
|
<BuildActionEntry
|
|
buildForTesting = "YES"
|
|
buildForRunning = "NO"
|
|
buildForProfiling = "NO"
|
|
buildForArchiving = "NO"
|
|
buildForAnalyzing = "NO">
|
|
<BuildableReference
|
|
BuildableIdentifier = "primary"
|
|
BlueprintIdentifier = "AE634633B8F1B514E185CE5F"
|
|
BuildableName = "KordantUITests.xctest"
|
|
BlueprintName = "KordantUITests"
|
|
ReferencedContainer = "container:Kordant.xcodeproj">
|
|
</BuildableReference>
|
|
</BuildActionEntry>
|
|
<BuildActionEntry
|
|
buildForTesting = "YES"
|
|
buildForRunning = "YES"
|
|
buildForProfiling = "YES"
|
|
buildForArchiving = "YES"
|
|
buildForAnalyzing = "YES">
|
|
<BuildableReference
|
|
BuildableIdentifier = "primary"
|
|
BlueprintIdentifier = "18C82F154D370268489AA37B"
|
|
BuildableName = "KordantWidgets.appex"
|
|
BlueprintName = "KordantWidgets"
|
|
ReferencedContainer = "container:Kordant.xcodeproj">
|
|
</BuildableReference>
|
|
</BuildActionEntry>
|
|
</BuildActionEntries>
|
|
</BuildAction>
|
|
<TestAction
|
|
buildConfiguration = "Debug"
|
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
onlyGenerateCoverageForSpecifiedTargets = "NO">
|
|
<MacroExpansion>
|
|
<BuildableReference
|
|
BuildableIdentifier = "primary"
|
|
BlueprintIdentifier = "E7AC16B355315CFFD65E4690"
|
|
BuildableName = "Kordant.app"
|
|
BlueprintName = "Kordant"
|
|
ReferencedContainer = "container:Kordant.xcodeproj">
|
|
</BuildableReference>
|
|
</MacroExpansion>
|
|
<Testables>
|
|
<TestableReference
|
|
skipped = "NO"
|
|
parallelizable = "NO">
|
|
<BuildableReference
|
|
BuildableIdentifier = "primary"
|
|
BlueprintIdentifier = "B5C503572F0C73442B35B031"
|
|
BuildableName = "KordantTests.xctest"
|
|
BlueprintName = "KordantTests"
|
|
ReferencedContainer = "container:Kordant.xcodeproj">
|
|
</BuildableReference>
|
|
</TestableReference>
|
|
<TestableReference
|
|
skipped = "NO"
|
|
parallelizable = "NO">
|
|
<BuildableReference
|
|
BuildableIdentifier = "primary"
|
|
BlueprintIdentifier = "AE634633B8F1B514E185CE5F"
|
|
BuildableName = "KordantUITests.xctest"
|
|
BlueprintName = "KordantUITests"
|
|
ReferencedContainer = "container:Kordant.xcodeproj">
|
|
</BuildableReference>
|
|
</TestableReference>
|
|
</Testables>
|
|
<CommandLineArguments>
|
|
</CommandLineArguments>
|
|
</TestAction>
|
|
<LaunchAction
|
|
buildConfiguration = "Debug"
|
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
launchStyle = "0"
|
|
useCustomWorkingDirectory = "NO"
|
|
ignoresPersistentStateOnLaunch = "NO"
|
|
debugDocumentVersioning = "YES"
|
|
debugServiceExtension = "internal"
|
|
allowLocationSimulation = "YES">
|
|
<BuildableProductRunnable
|
|
runnableDebuggingMode = "0">
|
|
<BuildableReference
|
|
BuildableIdentifier = "primary"
|
|
BlueprintIdentifier = "E7AC16B355315CFFD65E4690"
|
|
BuildableName = "Kordant.app"
|
|
BlueprintName = "Kordant"
|
|
ReferencedContainer = "container:Kordant.xcodeproj">
|
|
</BuildableReference>
|
|
</BuildableProductRunnable>
|
|
<CommandLineArguments>
|
|
</CommandLineArguments>
|
|
</LaunchAction>
|
|
<ProfileAction
|
|
buildConfiguration = "Release"
|
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
savedToolIdentifier = ""
|
|
useCustomWorkingDirectory = "NO"
|
|
debugDocumentVersioning = "YES">
|
|
<BuildableProductRunnable
|
|
runnableDebuggingMode = "0">
|
|
<BuildableReference
|
|
BuildableIdentifier = "primary"
|
|
BlueprintIdentifier = "E7AC16B355315CFFD65E4690"
|
|
BuildableName = "Kordant.app"
|
|
BlueprintName = "Kordant"
|
|
ReferencedContainer = "container:Kordant.xcodeproj">
|
|
</BuildableReference>
|
|
</BuildableProductRunnable>
|
|
<CommandLineArguments>
|
|
</CommandLineArguments>
|
|
</ProfileAction>
|
|
<AnalyzeAction
|
|
buildConfiguration = "Debug">
|
|
</AnalyzeAction>
|
|
<ArchiveAction
|
|
buildConfiguration = "Release"
|
|
revealArchiveInOrganizer = "YES">
|
|
</ArchiveAction>
|
|
</Scheme>
|