Rebrand entire project from Feels to Reflect
Complete rename across all bundle IDs, App Groups, CloudKit containers, StoreKit product IDs, data store filenames, URL schemes, logger subsystems, Swift identifiers, user-facing strings (7 languages), file names, directory names, Xcode project, schemes, assets, and documentation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
//
|
||||
// DataController.swift
|
||||
// Feels
|
||||
// Reflect
|
||||
//
|
||||
// SwiftData controller replacing Core Data PersistenceController.
|
||||
//
|
||||
@@ -11,7 +11,7 @@ import os.log
|
||||
|
||||
@MainActor
|
||||
final class DataController: ObservableObject {
|
||||
private static let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.tt.feels", category: "DataController")
|
||||
private static let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.88oakapps.reflect", category: "DataController")
|
||||
static let shared = DataController()
|
||||
|
||||
private(set) var container: ModelContainer
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//
|
||||
// DataControllerADD.swift
|
||||
// Feels
|
||||
// Reflect
|
||||
//
|
||||
// SwiftData CREATE operations.
|
||||
//
|
||||
@@ -9,7 +9,7 @@ import SwiftData
|
||||
import Foundation
|
||||
import os.log
|
||||
|
||||
private let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.tt.feels", category: "DataControllerADD")
|
||||
private let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.88oakapps.reflect", category: "DataControllerADD")
|
||||
|
||||
extension DataController {
|
||||
func add(mood: Mood, forDate date: Date, entryType: EntryType) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//
|
||||
// DataControllerDELETE.swift
|
||||
// Feels
|
||||
// Reflect
|
||||
//
|
||||
// SwiftData DELETE operations.
|
||||
//
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//
|
||||
// DataControllerGET.swift
|
||||
// Feels
|
||||
// Reflect
|
||||
//
|
||||
// SwiftData READ operations.
|
||||
//
|
||||
@@ -9,7 +9,7 @@ import SwiftData
|
||||
import Foundation
|
||||
import os.log
|
||||
|
||||
private let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.tt.feels", category: "DataControllerGET")
|
||||
private let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.88oakapps.reflect", category: "DataControllerGET")
|
||||
|
||||
extension DataController {
|
||||
func getEntry(byDate date: Date) -> MoodEntryModel? {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//
|
||||
// DataControllerHelper.swift
|
||||
// Feels
|
||||
// Reflect
|
||||
//
|
||||
// SwiftData helper and test data operations.
|
||||
//
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//
|
||||
// DataControllerProtocol.swift
|
||||
// Feels
|
||||
// Reflect
|
||||
//
|
||||
// Protocol defining the data access interface for mood entries.
|
||||
// Enables dependency injection and testability.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//
|
||||
// DataControllerUPDATE.swift
|
||||
// Feels
|
||||
// Reflect
|
||||
//
|
||||
// SwiftData UPDATE operations.
|
||||
//
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
//
|
||||
// ExtensionDataProvider.swift
|
||||
// Feels
|
||||
// Reflect
|
||||
//
|
||||
// Unified data provider for Widget and Watch extensions.
|
||||
// - Watch: Uses CloudKit for automatic sync with iPhone
|
||||
// - Widget: Uses local App Group storage (widgets can't use CloudKit)
|
||||
//
|
||||
// Add this file to: FeelsWidgetExtension, Feels Watch App
|
||||
// Add this file to: ReflectWidgetExtension, Reflect Watch App
|
||||
//
|
||||
|
||||
import Foundation
|
||||
@@ -22,7 +22,7 @@ final class ExtensionDataProvider {
|
||||
|
||||
static let shared = ExtensionDataProvider()
|
||||
|
||||
private static let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.tt.feels", category: "ExtensionDataProvider")
|
||||
private static let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.88oakapps.reflect", category: "ExtensionDataProvider")
|
||||
|
||||
private var _container: ModelContainer?
|
||||
|
||||
@@ -47,9 +47,9 @@ final class ExtensionDataProvider {
|
||||
// Watch uses CloudKit for automatic sync with iPhone
|
||||
let cloudKitContainerID: String
|
||||
#if DEBUG
|
||||
cloudKitContainerID = "iCloud.com.88oakapps.feels.debug"
|
||||
cloudKitContainerID = "iCloud.com.88oakapps.reflect.debug"
|
||||
#else
|
||||
cloudKitContainerID = "iCloud.com.88oakapps.feels"
|
||||
cloudKitContainerID = "iCloud.com.88oakapps.reflect"
|
||||
#endif
|
||||
|
||||
let configuration = ModelConfiguration(
|
||||
@@ -89,9 +89,9 @@ final class ExtensionDataProvider {
|
||||
throw NSError(domain: "ExtensionDataProvider", code: 1, userInfo: [NSLocalizedDescriptionKey: "App Group not available"])
|
||||
}
|
||||
#if DEBUG
|
||||
return containerURL.appendingPathComponent("Feels-Debug.store")
|
||||
return containerURL.appendingPathComponent("Reflect-Debug.store")
|
||||
#else
|
||||
return containerURL.appendingPathComponent("Feels.store")
|
||||
return containerURL.appendingPathComponent("Reflect.store")
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//
|
||||
// SharedModelContainer.swift
|
||||
// Feels
|
||||
// Reflect
|
||||
//
|
||||
// Factory for creating ModelContainer shared between main app and widget extension.
|
||||
//
|
||||
@@ -25,7 +25,7 @@ enum SharedModelContainerError: LocalizedError {
|
||||
}
|
||||
|
||||
enum SharedModelContainer {
|
||||
private static let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.tt.feels", category: "SharedModelContainer")
|
||||
private static let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.88oakapps.reflect", category: "SharedModelContainer")
|
||||
|
||||
/// Indicates whether the app is running with in-memory storage due to a failed App Group container.
|
||||
/// When `true`, all data will be lost on app restart.
|
||||
@@ -116,18 +116,18 @@ enum SharedModelContainer {
|
||||
/// CloudKit container identifier based on build configuration
|
||||
static var cloudKitContainerID: String {
|
||||
#if DEBUG
|
||||
return "iCloud.com.88oakapps.feels.debug"
|
||||
return "iCloud.com.88oakapps.reflect.debug"
|
||||
#else
|
||||
return "iCloud.com.88oakapps.feels"
|
||||
return "iCloud.com.88oakapps.reflect"
|
||||
#endif
|
||||
}
|
||||
|
||||
/// Store file name based on build configuration
|
||||
static var storeFileName: String {
|
||||
#if DEBUG
|
||||
return "Feels-Debug.store"
|
||||
return "Reflect-Debug.store"
|
||||
#else
|
||||
return "Feels.store"
|
||||
return "Reflect.store"
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user