Consolidate extension data providers and add side effects catch-up
- Create unified ExtensionDataProvider for Widget and Watch targets - Remove duplicate WatchDataProvider and WatchConnectivityManager from Watch App - Add side effects catch-up mechanism in MoodLogger for widget votes - Process pending side effects on app launch and midnight background task - Reduce ~450 lines of duplicated code across targets 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -9,8 +9,8 @@
|
||||
/* Begin PBXBuildFile section */
|
||||
1C0DAB51279DB0FB003B1F21 /* Feels/Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 1C0DAB50279DB0FB003B1F21 /* Feels/Localizable.xcstrings */; };
|
||||
1C0DAB52279DB0FB003B1F22 /* Feels/Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 1C0DAB50279DB0FB003B1F21 /* Feels/Localizable.xcstrings */; };
|
||||
1C2618FA2795E41D00FDC148 /* Charts in Frameworks */ = {isa = PBXBuildFile; productRef = 1C2618F92795E41D00FDC148 /* Charts */; };
|
||||
1C747CC9279F06EB00762CBD /* CloudKitSyncMonitor in Frameworks */ = {isa = PBXBuildFile; productRef = 1C747CC8279F06EB00762CBD /* CloudKitSyncMonitor */; };
|
||||
1C9566422EF8F5F70032E68F /* Charts in Frameworks */ = {isa = PBXBuildFile; productRef = 1C9566412EF8F5F70032E68F /* Charts */; };
|
||||
1C9566442EF8F5F70032E68F /* Algorithms in Frameworks */ = {isa = PBXBuildFile; productRef = 1C9566432EF8F5F70032E68F /* Algorithms */; };
|
||||
1CB4D0A028787D8A00902A56 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CB4D09F28787D8A00902A56 /* StoreKit.framework */; };
|
||||
1CD90B07278C7DE0001C4FEA /* Tests_iOS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CD90B06278C7DE0001C4FEA /* Tests_iOS.swift */; };
|
||||
1CD90B09278C7DE0001C4FEA /* Tests_iOSLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CD90B08278C7DE0001C4FEA /* Tests_iOSLaunchTests.swift */; };
|
||||
@@ -128,7 +128,9 @@
|
||||
MoodStreakActivity.swift,
|
||||
Onboarding/OnboardingData.swift,
|
||||
Onboarding/views/OnboardingDay.swift,
|
||||
Persisence/ExtensionDataProvider.swift,
|
||||
Random.swift,
|
||||
SharedMoodIntent.swift,
|
||||
ShowBasedOnVoteLogics.swift,
|
||||
Views/BGView.swift,
|
||||
Views/CustomIcon/IconView.swift,
|
||||
@@ -143,7 +145,10 @@
|
||||
membershipExceptions = (
|
||||
Models/Mood.swift,
|
||||
Models/MoodEntryModel.swift,
|
||||
Persisence/ExtensionDataProvider.swift,
|
||||
Random.swift,
|
||||
Services/WatchConnectivityManager.swift,
|
||||
SharedMoodIntent.swift,
|
||||
);
|
||||
target = B1DB9E6543DE4A009DB00916 /* Feels Watch App */;
|
||||
};
|
||||
@@ -160,10 +165,10 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1C747CC9279F06EB00762CBD /* CloudKitSyncMonitor in Frameworks */,
|
||||
1C9566442EF8F5F70032E68F /* Algorithms in Frameworks */,
|
||||
1CD90B6C278C7F78001C4FEA /* CloudKit.framework in Frameworks */,
|
||||
1C9566422EF8F5F70032E68F /* Charts in Frameworks */,
|
||||
1CB4D0A028787D8A00902A56 /* StoreKit.framework in Frameworks */,
|
||||
1C2618FA2795E41D00FDC148 /* Charts in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -306,8 +311,8 @@
|
||||
);
|
||||
name = "Feels (iOS)";
|
||||
packageProductDependencies = (
|
||||
1C2618F92795E41D00FDC148 /* Charts */,
|
||||
1C747CC8279F06EB00762CBD /* CloudKitSyncMonitor */,
|
||||
1C9566412EF8F5F70032E68F /* Charts */,
|
||||
1C9566432EF8F5F70032E68F /* Algorithms */,
|
||||
);
|
||||
productName = "Feels (iOS)";
|
||||
productReference = 1CD90AF5278C7DE0001C4FEA /* iFeels.app */;
|
||||
@@ -458,8 +463,8 @@
|
||||
);
|
||||
mainGroup = 1CD90AE5278C7DDF001C4FEA;
|
||||
packageReferences = (
|
||||
1C2618F82795E41D00FDC148 /* XCRemoteSwiftPackageReference "ChartsPackage" */,
|
||||
1C747CC7279F06EB00762CBD /* XCRemoteSwiftPackageReference "CloudKitSyncMonitor" */,
|
||||
1C95663F2EF8F4A90032E68F /* XCRemoteSwiftPackageReference "ChartsPackage" */,
|
||||
1C9566402EF8F4D30032E68F /* XCRemoteSwiftPackageReference "swift-algorithms" */,
|
||||
);
|
||||
productRefGroup = 1CD90AF6278C7DE0001C4FEA /* Products */;
|
||||
projectDirPath = "";
|
||||
@@ -1119,7 +1124,7 @@
|
||||
/* End XCConfigurationList section */
|
||||
|
||||
/* Begin XCRemoteSwiftPackageReference section */
|
||||
1C2618F82795E41D00FDC148 /* XCRemoteSwiftPackageReference "ChartsPackage" */ = {
|
||||
1C95663F2EF8F4A90032E68F /* XCRemoteSwiftPackageReference "ChartsPackage" */ = {
|
||||
isa = XCRemoteSwiftPackageReference;
|
||||
repositoryURL = "https://github.com/akatreyt/ChartsPackage";
|
||||
requirement = {
|
||||
@@ -1127,26 +1132,26 @@
|
||||
kind = branch;
|
||||
};
|
||||
};
|
||||
1C747CC7279F06EB00762CBD /* XCRemoteSwiftPackageReference "CloudKitSyncMonitor" */ = {
|
||||
1C9566402EF8F4D30032E68F /* XCRemoteSwiftPackageReference "swift-algorithms" */ = {
|
||||
isa = XCRemoteSwiftPackageReference;
|
||||
repositoryURL = "https://github.com/ggruen/CloudKitSyncMonitor";
|
||||
repositoryURL = "https://github.com/apple/swift-algorithms.git";
|
||||
requirement = {
|
||||
kind = upToNextMajorVersion;
|
||||
minimumVersion = 1.0.0;
|
||||
kind = exactVersion;
|
||||
version = 0.2.1;
|
||||
};
|
||||
};
|
||||
/* End XCRemoteSwiftPackageReference section */
|
||||
|
||||
/* Begin XCSwiftPackageProductDependency section */
|
||||
1C2618F92795E41D00FDC148 /* Charts */ = {
|
||||
1C9566412EF8F5F70032E68F /* Charts */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
package = 1C2618F82795E41D00FDC148 /* XCRemoteSwiftPackageReference "ChartsPackage" */;
|
||||
package = 1C95663F2EF8F4A90032E68F /* XCRemoteSwiftPackageReference "ChartsPackage" */;
|
||||
productName = Charts;
|
||||
};
|
||||
1C747CC8279F06EB00762CBD /* CloudKitSyncMonitor */ = {
|
||||
1C9566432EF8F5F70032E68F /* Algorithms */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
package = 1C747CC7279F06EB00762CBD /* XCRemoteSwiftPackageReference "CloudKitSyncMonitor" */;
|
||||
productName = CloudKitSyncMonitor;
|
||||
package = 1C9566402EF8F4D30032E68F /* XCRemoteSwiftPackageReference "swift-algorithms" */;
|
||||
productName = Algorithms;
|
||||
};
|
||||
/* End XCSwiftPackageProductDependency section */
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user