Skip to content

Commit

Permalink
Complete adoption of SwiftUI, optimize for 2023 Apple OS's
Browse files Browse the repository at this point in the history
Overall optimization:
1. Unify UI code for SwiftUI, watch face code is shared across all platforms and most widgets
2. Adopt SwiftData instead of Core Data, and remove use of UserDefault
3. Use AppIntent in favor of Siri Intent
4. Eliminate errors with Swift 6 syntax (warnings are not fully addressed)
4. Conbine translaton files into 3 shared ones
5. New and more concise icon
6. Responsive clock face adds interaction

Widgets:
1. Double watch widgets supports extra large size, full watch come in small size as well
2. New Countdown cards let you track next solar term, moon phase, sun and moon rise/set time
3. Adapt background and color based on system render mode
4. More accurate (not more frequent) update timing for widgets, lets you stay right on time
5. More cutural holidays in text widget
6. Added widget relevance to work better with smart stack

iOS:
1. Settings no longer block whole screen on landscape iPhone and iPad, share most code with macOS settings window

Watch:
1. Full size clock face, make the most use of watch screen
2. No more left/right swipe, easier navigation with only up/down scroll
3. Settings is now more inline with system style

Mac:
1. Settings is categorized into sections, for each section, code is shared with iOS settings
2. Revamped themes management and Q&A section
3. Configurable status bar, you can choose what to display (or as simple as an icon) at your discretion
  • Loading branch information
LEOYoon-Tsaw committed Sep 15, 2023
1 parent 133e62f commit 5b9f10a
Show file tree
Hide file tree
Showing 201 changed files with 12,196 additions and 15,491 deletions.
1,095 changes: 504 additions & 591 deletions Chinese Time.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1430"
LastUpgradeVersion = "1500"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand All @@ -16,7 +16,7 @@
BuildableIdentifier = "primary"
BlueprintIdentifier = "D2E4E0E126F7C73E002F3716"
BuildableName = "Chinese Time.app"
BlueprintName = "Chinese Time"
BlueprintName = "Chinese Time Mac"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
</BuildActionEntry>
Expand Down Expand Up @@ -48,13 +48,29 @@
BuildableIdentifier = "primary"
BlueprintIdentifier = "D2E4E0E126F7C73E002F3716"
BuildableName = "Chinese Time.app"
BlueprintName = "Chinese Time"
BlueprintName = "Chinese Time Mac"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<CommandLineArguments>
<CommandLineArgument
argument = "com.apple.CoreData.CloudKitDebug 0"
argument = "-com.apple.CoreData.CloudKitDebug 0"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "-com.apple.CoreData.Logging.stderr 0"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "-com.apple.CoreData.SQLDebug 0"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "-com.apple.CoreData.ConcurrencyDebug 0"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "-com.apple.CoreData.MigrationDebug 0"
isEnabled = "YES">
</CommandLineArgument>
</CommandLineArguments>
Expand All @@ -71,7 +87,7 @@
BuildableIdentifier = "primary"
BlueprintIdentifier = "D2E4E0E126F7C73E002F3716"
BuildableName = "Chinese Time.app"
BlueprintName = "Chinese Time"
BlueprintName = "Chinese Time Mac"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1430"
LastUpgradeVersion = "1500"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
Expand Down Expand Up @@ -29,7 +29,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B3515CAA29F6147100E6BCDC"
BuildableName = "Chinese Time iOS.app"
BuildableName = "Chinese Time.app"
BlueprintName = "Chinese Time iOS"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
Expand All @@ -52,6 +52,7 @@
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
enableGPUValidationMode = "1"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
Expand All @@ -63,6 +64,28 @@
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<CommandLineArguments>
<CommandLineArgument
argument = "-com.apple.CoreData.ConcurrencyDebug 0"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "-com.apple.CoreData.Logging.stderr 0"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "-com.apple.CoreData.SQLDebug 0"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "-com.apple.CoreData.CloudKitDebug 0"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "-com.apple.CoreData.MigrationDebug 0"
isEnabled = "YES">
</CommandLineArgument>
</CommandLineArguments>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1430"
LastUpgradeVersion = "1500"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
Expand All @@ -15,7 +15,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B3515CAA29F6147100E6BCDC"
BuildableName = "Chinese Time iOS.app"
BuildableName = "Chinese Time.app"
BlueprintName = "Chinese Time iOS"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
Expand Down Expand Up @@ -44,11 +44,33 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B3515CAA29F6147100E6BCDC"
BuildableName = "Chinese Time iOS.app"
BuildableName = "Chinese Time.app"
BlueprintName = "Chinese Time iOS"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<CommandLineArguments>
<CommandLineArgument
argument = " -com.apple.CoreData.Logging.stderr 0"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "-com.apple.CoreData.CloudKitDebug 0"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "-com.apple.CoreData.SQLDebug 0"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "-com.apple.CoreData.ConcurrencyDebug 0"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "-com.apple.CoreData.MigrationDebug 0"
isEnabled = "YES">
</CommandLineArgument>
</CommandLineArguments>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
Expand All @@ -61,7 +83,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B3515CAA29F6147100E6BCDC"
BuildableName = "Chinese Time iOS.app"
BuildableName = "Chinese Time.app"
BlueprintName = "Chinese Time iOS"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1430"
LastUpgradeVersion = "1500"
wasCreatedForAppExtension = "YES"
version = "2.0">
<BuildAction
Expand All @@ -17,7 +17,7 @@
BuildableIdentifier = "primary"
BlueprintIdentifier = "D2E4E0E126F7C73E002F3716"
BuildableName = "Chinese Time.app"
BlueprintName = "Chinese Time"
BlueprintName = "Chinese Time Mac"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
</BuildActionEntry>
Expand All @@ -30,7 +30,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B3E1D6C52A0AB43E00F2905A"
BuildableName = "Mac Widget Extension.appex"
BuildableName = "Chinese Time Widget.appex"
BlueprintName = "Mac Widget Extension"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
Expand All @@ -46,8 +46,8 @@
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = ""
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
enableAddressSanitizer = "YES"
enableASanStackUseAfterReturn = "YES"
launchStyle = "0"
Expand All @@ -65,24 +65,15 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B3E1D6C52A0AB43E00F2905A"
BuildableName = "Mac Widget Extension.appex"
BuildableName = "Chinese Time Widget.appex"
BlueprintName = "Mac Widget Extension"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
</RemoteRunnable>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D2E4E0E126F7C73E002F3716"
BuildableName = "Chinese Time.app"
BlueprintName = "Chinese Time"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
</MacroExpansion>
<EnvironmentVariables>
<EnvironmentVariable
key = "_XCWidgetKind"
value = "Small"
value = "Medium"
isEnabled = "YES">
</EnvironmentVariable>
<EnvironmentVariable
Expand All @@ -92,8 +83,8 @@
</EnvironmentVariable>
<EnvironmentVariable
key = "_XCWidgetFamily"
value = "medium"
isEnabled = "NO">
value = "systemExtraLarge"
isEnabled = "YES">
</EnvironmentVariable>
</EnvironmentVariables>
<LocationScenarioReference
Expand All @@ -115,7 +106,7 @@
BuildableIdentifier = "primary"
BlueprintIdentifier = "D2E4E0E126F7C73E002F3716"
BuildableName = "Chinese Time.app"
BlueprintName = "Chinese Time"
BlueprintName = "Chinese Time Mac"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1430"
LastUpgradeVersion = "1500"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
Expand All @@ -15,7 +15,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B3CC8BED2A0C7E300063DE44"
BuildableName = "Watch Widget Extension.appex"
BuildableName = "Chinese Time Widget.appex"
BlueprintName = "Watch Widget Extension"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
Expand Down Expand Up @@ -43,7 +43,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B3515CAA29F6147100E6BCDC"
BuildableName = "Chinese Time iOS.app"
BuildableName = "Chinese Time.app"
BlueprintName = "Chinese Time iOS"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
Expand Down Expand Up @@ -74,7 +74,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B3CC8BED2A0C7E300063DE44"
BuildableName = "Watch Widget Extension.appex"
BuildableName = "Chinese Time Widget.appex"
BlueprintName = "Watch Widget Extension"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
Expand All @@ -83,16 +83,16 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B3515CAA29F6147100E6BCDC"
BuildableName = "Chinese Time iOS.app"
BuildableName = "Chinese Time.app"
BlueprintName = "Chinese Time iOS"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
</MacroExpansion>
<EnvironmentVariables>
<EnvironmentVariable
key = "_XCWidgetKind"
value = ""
isEnabled = "NO">
value = "Card"
isEnabled = "YES">
</EnvironmentVariable>
<EnvironmentVariable
key = "_XCWidgetDefaultView"
Expand All @@ -101,8 +101,8 @@
</EnvironmentVariable>
<EnvironmentVariable
key = "_XCWidgetFamily"
value = "medium"
isEnabled = "NO">
value = "accessoryRectangular"
isEnabled = "YES">
</EnvironmentVariable>
</EnvironmentVariables>
</LaunchAction>
Expand All @@ -117,7 +117,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B3CC8BED2A0C7E300063DE44"
BuildableName = "Watch Widget Extension.appex"
BuildableName = "Chinese Time Widget.appex"
BlueprintName = "Watch Widget Extension"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1430"
LastUpgradeVersion = "1500"
wasCreatedForAppExtension = "YES"
version = "2.0">
<BuildAction
Expand All @@ -16,7 +16,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B3CC8B962A0B30BB0063DE44"
BuildableName = "iOS Widget Extension.appex"
BuildableName = "Chinese Time Widget.appex"
BlueprintName = "iOS Widget Extension"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
Expand All @@ -30,7 +30,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B3515CAA29F6147100E6BCDC"
BuildableName = "Chinese Time iOS.app"
BuildableName = "Chinese Time.app"
BlueprintName = "Chinese Time iOS"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
Expand Down Expand Up @@ -62,7 +62,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B3CC8B962A0B30BB0063DE44"
BuildableName = "iOS Widget Extension.appex"
BuildableName = "Chinese Time Widget.appex"
BlueprintName = "iOS Widget Extension"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
Expand All @@ -71,7 +71,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B3515CAA29F6147100E6BCDC"
BuildableName = "Chinese Time iOS.app"
BuildableName = "Chinese Time.app"
BlueprintName = "Chinese Time iOS"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
Expand All @@ -89,8 +89,8 @@
</EnvironmentVariable>
<EnvironmentVariable
key = "_XCWidgetFamily"
value = "medium"
isEnabled = "NO">
value = "systemMedium"
isEnabled = "YES">
</EnvironmentVariable>
</EnvironmentVariables>
</LaunchAction>
Expand All @@ -107,7 +107,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B3515CAA29F6147100E6BCDC"
BuildableName = "Chinese Time iOS.app"
BuildableName = "Chinese Time.app"
BlueprintName = "Chinese Time iOS"
ReferencedContainer = "container:Chinese Time.xcodeproj">
</BuildableReference>
Expand Down
Loading

0 comments on commit 5b9f10a

Please sign in to comment.