Rename iFeels to Feels across entire codebase

- Bundle IDs: com.tt.ifeel* → com.tt.feels*
- App Groups: group.com.tt.ifeel* → group.com.tt.feels*
- iCloud containers: iCloud.com.tt.ifeel* → iCloud.com.tt.feels*
- IAP product IDs: com.tt.ifeel.IAP.* → com.tt.feels.IAP.*
- URLs: ifeels.app → feels.app
- Logger subsystems and dispatch queues
- Product names and display names

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-01-01 11:57:44 -06:00
parent fa937793d9
commit e5656f47fd
27 changed files with 12693 additions and 12677 deletions

View File

@@ -92,7 +92,7 @@
"locale" : "en_US" "locale" : "en_US"
} }
], ],
"productID" : "com.tt.ifeel.IAP.subscriptions.monthly", "productID" : "com.tt.feels.IAP.subscriptions.monthly",
"recurringSubscriptionPeriod" : "P1M", "recurringSubscriptionPeriod" : "P1M",
"referenceName" : "Monthly", "referenceName" : "Monthly",
"subscriptionGroupID" : "2CFE4C4F", "subscriptionGroupID" : "2CFE4C4F",
@@ -120,7 +120,7 @@
"locale" : "en_US" "locale" : "en_US"
} }
], ],
"productID" : "com.tt.ifeel.IAP.subscriptions.yearly", "productID" : "com.tt.feels.IAP.subscriptions.yearly",
"recurringSubscriptionPeriod" : "P1Y", "recurringSubscriptionPeriod" : "P1Y",
"referenceName" : "Yearly", "referenceName" : "Yearly",
"subscriptionGroupID" : "2CFE4C4F", "subscriptionGroupID" : "2CFE4C4F",

View File

@@ -4,7 +4,7 @@
<dict> <dict>
<key>com.apple.developer.icloud-container-identifiers</key> <key>com.apple.developer.icloud-container-identifiers</key>
<array> <array>
<string>iCloud.com.tt.ifeelDebug</string> <string>iCloud.com.tt.feelsDebug</string>
</array> </array>
<key>com.apple.developer.icloud-services</key> <key>com.apple.developer.icloud-services</key>
<array> <array>
@@ -12,7 +12,7 @@
</array> </array>
<key>com.apple.security.application-groups</key> <key>com.apple.security.application-groups</key>
<array> <array>
<string>group.com.tt.ifeelDebug</string> <string>group.com.tt.feelsDebug</string>
</array> </array>
<key>com.apple.developer.healthkit</key> <key>com.apple.developer.healthkit</key>
<true/> <true/>

View File

@@ -6,7 +6,7 @@
<string>development</string> <string>development</string>
<key>com.apple.developer.icloud-container-identifiers</key> <key>com.apple.developer.icloud-container-identifiers</key>
<array> <array>
<string>iCloud.com.tt.ifeelDebug</string> <string>iCloud.com.tt.feelsDebug</string>
</array> </array>
<key>com.apple.developer.icloud-services</key> <key>com.apple.developer.icloud-services</key>
<array> <array>
@@ -14,7 +14,7 @@
</array> </array>
<key>com.apple.security.application-groups</key> <key>com.apple.security.application-groups</key>
<array> <array>
<string>group.com.tt.ifeelDebug</string> <string>group.com.tt.feelsDebug</string>
</array> </array>
<key>com.apple.developer.healthkit</key> <key>com.apple.developer.healthkit</key>
<true/> <true/>

View File

@@ -4,7 +4,7 @@
<dict> <dict>
<key>com.apple.security.application-groups</key> <key>com.apple.security.application-groups</key>
<array> <array>
<string>group.com.tt.ifeel</string> <string>group.com.tt.feels</string>
</array> </array>
</dict> </dict>
</plist> </plist>

View File

@@ -4,7 +4,7 @@
<dict> <dict>
<key>com.apple.security.application-groups</key> <key>com.apple.security.application-groups</key>
<array> <array>
<string>group.com.tt.ifeelDebug</string> <string>group.com.tt.feelsDebug</string>
</array> </array>
</dict> </dict>
</plist> </plist>

View File

@@ -4,13 +4,13 @@
<dict> <dict>
<key>BGTaskSchedulerPermittedIdentifiers</key> <key>BGTaskSchedulerPermittedIdentifiers</key>
<array> <array>
<string>com.tt.ifeel.dbUpdateMissing</string> <string>com.tt.feels.dbUpdateMissing</string>
</array> </array>
<key>CFBundleURLTypes</key> <key>CFBundleURLTypes</key>
<array> <array>
<dict> <dict>
<key>CFBundleURLName</key> <key>CFBundleURLName</key>
<string>com.tt.ifeel</string> <string>com.tt.feels</string>
<key>CFBundleURLSchemes</key> <key>CFBundleURLSchemes</key>
<array> <array>
<string>feels</string> <string>feels</string>

View File

@@ -65,7 +65,7 @@
1C0DAB50279DB0FB003B1F21 /* Feels/Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Feels/Localizable.xcstrings; sourceTree = "<group>"; }; 1C0DAB50279DB0FB003B1F21 /* Feels/Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Feels/Localizable.xcstrings; sourceTree = "<group>"; };
1CB4D09E28787B3C00902A56 /* Configuration.storekit */ = {isa = PBXFileReference; lastKnownFileType = text; path = Configuration.storekit; sourceTree = "<group>"; }; 1CB4D09E28787B3C00902A56 /* Configuration.storekit */ = {isa = PBXFileReference; lastKnownFileType = text; path = Configuration.storekit; sourceTree = "<group>"; };
1CB4D09F28787D8A00902A56 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.5.sdk/System/Library/Frameworks/StoreKit.framework; sourceTree = DEVELOPER_DIR; }; 1CB4D09F28787D8A00902A56 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.5.sdk/System/Library/Frameworks/StoreKit.framework; sourceTree = DEVELOPER_DIR; };
1CD90AF5278C7DE0001C4FEA /* iFeels.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iFeels.app; sourceTree = BUILT_PRODUCTS_DIR; }; 1CD90AF5278C7DE0001C4FEA /* Feels.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Feels.app; sourceTree = BUILT_PRODUCTS_DIR; };
1CD90AFB278C7DE0001C4FEA /* Feels.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Feels.app; sourceTree = BUILT_PRODUCTS_DIR; }; 1CD90AFB278C7DE0001C4FEA /* Feels.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Feels.app; sourceTree = BUILT_PRODUCTS_DIR; };
1CD90AFD278C7DE0001C4FEA /* macOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = macOS.entitlements; sourceTree = "<group>"; }; 1CD90AFD278C7DE0001C4FEA /* macOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = macOS.entitlements; sourceTree = "<group>"; };
1CD90B02278C7DE0001C4FEA /* Tests iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Tests iOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 1CD90B02278C7DE0001C4FEA /* Tests iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Tests iOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -220,7 +220,7 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
1E594AEAB5F046E3B3ED7C47 /* Feels Watch App.app */, 1E594AEAB5F046E3B3ED7C47 /* Feels Watch App.app */,
1CD90AF5278C7DE0001C4FEA /* iFeels.app */, 1CD90AF5278C7DE0001C4FEA /* Feels.app */,
1CD90AFB278C7DE0001C4FEA /* Feels.app */, 1CD90AFB278C7DE0001C4FEA /* Feels.app */,
1CD90B02278C7DE0001C4FEA /* Tests iOS.xctest */, 1CD90B02278C7DE0001C4FEA /* Tests iOS.xctest */,
1CD90B0E278C7DE0001C4FEA /* Tests macOS.xctest */, 1CD90B0E278C7DE0001C4FEA /* Tests macOS.xctest */,
@@ -291,7 +291,7 @@
1C9566432EF8F5F70032E68F /* Algorithms */, 1C9566432EF8F5F70032E68F /* Algorithms */,
); );
productName = "Feels (iOS)"; productName = "Feels (iOS)";
productReference = 1CD90AF5278C7DE0001C4FEA /* iFeels.app */; productReference = 1CD90AF5278C7DE0001C4FEA /* Feels.app */;
productType = "com.apple.product-type.application"; productType = "com.apple.product-type.application";
}; };
1CD90AFA278C7DE0001C4FEA /* Feels (macOS) */ = { 1CD90AFA278C7DE0001C4FEA /* Feels (macOS) */ = {
@@ -582,14 +582,14 @@
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_CFBundleDisplayName = Feels; INFOPLIST_KEY_CFBundleDisplayName = Feels;
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
INFOPLIST_KEY_WKCompanionAppBundleIdentifier = com.tt.ifeelDebug; INFOPLIST_KEY_WKCompanionAppBundleIdentifier = com.tt.feelsDebug;
INFOPLIST_KEY_WKRunsIndependentlyOfCompanionApp = NO; INFOPLIST_KEY_WKRunsIndependentlyOfCompanionApp = NO;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.2; MARKETING_VERSION = 1.0.2;
PRODUCT_BUNDLE_IDENTIFIER = com.tt.ifeelDebug.watchkitapp; PRODUCT_BUNDLE_IDENTIFIER = com.tt.feelsDebug.watchkitapp;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = watchos; SDKROOT = watchos;
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
@@ -748,8 +748,8 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.2; MARKETING_VERSION = 1.0.2;
PRODUCT_BUNDLE_IDENTIFIER = com.tt.ifeelDebug; PRODUCT_BUNDLE_IDENTIFIER = com.tt.feelsDebug;
PRODUCT_NAME = iFeels; PRODUCT_NAME = Feels;
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos; SDKROOT = iphoneos;
SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_EMIT_LOC_STRINGS = YES;
@@ -783,8 +783,8 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.2; MARKETING_VERSION = 1.0.2;
PRODUCT_BUNDLE_IDENTIFIER = com.tt.ifeelDebug; PRODUCT_BUNDLE_IDENTIFIER = com.tt.feelsDebug;
PRODUCT_NAME = iFeels; PRODUCT_NAME = Feels;
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos; SDKROOT = iphoneos;
SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_EMIT_LOC_STRINGS = YES;
@@ -817,7 +817,7 @@
); );
MACOSX_DEPLOYMENT_TARGET = 12.1; MACOSX_DEPLOYMENT_TARGET = 12.1;
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.tt.ifeel; PRODUCT_BUNDLE_IDENTIFIER = com.tt.feels;
PRODUCT_NAME = Feels; PRODUCT_NAME = Feels;
SDKROOT = macosx; SDKROOT = macosx;
SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_EMIT_LOC_STRINGS = YES;
@@ -848,7 +848,7 @@
); );
MACOSX_DEPLOYMENT_TARGET = 12.1; MACOSX_DEPLOYMENT_TARGET = 12.1;
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.tt.ifeelDebug; PRODUCT_BUNDLE_IDENTIFIER = com.tt.feelsDebug;
PRODUCT_NAME = Feels; PRODUCT_NAME = Feels;
SDKROOT = macosx; SDKROOT = macosx;
SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_EMIT_LOC_STRINGS = YES;
@@ -940,7 +940,7 @@
CURRENT_PROJECT_VERSION = 23; CURRENT_PROJECT_VERSION = 23;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "FeelsWidgetExtension-Info.plist"; INFOPLIST_FILE = "FeelsWidgetExtension-Info.plist";
INFOPLIST_KEY_CFBundleDisplayName = iFeelsWidget; INFOPLIST_KEY_CFBundleDisplayName = FeelsWidget;
INFOPLIST_KEY_NSHumanReadableCopyright = ""; INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 18.6; IPHONEOS_DEPLOYMENT_TARGET = 18.6;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
@@ -949,7 +949,7 @@
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
MARKETING_VERSION = 1.0.2; MARKETING_VERSION = 1.0.2;
PRODUCT_BUNDLE_IDENTIFIER = com.tt.ifeelDebug.FeelsWidgetDebug; PRODUCT_BUNDLE_IDENTIFIER = com.tt.feelsDebug.FeelsWidgetDebug;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos; SDKROOT = iphoneos;
@@ -972,7 +972,7 @@
CURRENT_PROJECT_VERSION = 23; CURRENT_PROJECT_VERSION = 23;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "FeelsWidgetExtension-Info.plist"; INFOPLIST_FILE = "FeelsWidgetExtension-Info.plist";
INFOPLIST_KEY_CFBundleDisplayName = iFeelsWidget; INFOPLIST_KEY_CFBundleDisplayName = FeelsWidget;
INFOPLIST_KEY_NSHumanReadableCopyright = ""; INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 18.6; IPHONEOS_DEPLOYMENT_TARGET = 18.6;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
@@ -981,7 +981,7 @@
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
MARKETING_VERSION = 1.0.2; MARKETING_VERSION = 1.0.2;
PRODUCT_BUNDLE_IDENTIFIER = com.tt.ifeelDebug.FeelsWidget; PRODUCT_BUNDLE_IDENTIFIER = com.tt.feelsDebug.FeelsWidget;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = iphoneos; SDKROOT = iphoneos;
@@ -1006,14 +1006,14 @@
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_CFBundleDisplayName = Feels; INFOPLIST_KEY_CFBundleDisplayName = Feels;
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
INFOPLIST_KEY_WKCompanionAppBundleIdentifier = com.tt.ifeel; INFOPLIST_KEY_WKCompanionAppBundleIdentifier = com.tt.feels;
INFOPLIST_KEY_WKRunsIndependentlyOfCompanionApp = NO; INFOPLIST_KEY_WKRunsIndependentlyOfCompanionApp = NO;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.2; MARKETING_VERSION = 1.0.2;
PRODUCT_BUNDLE_IDENTIFIER = com.tt.ifeel.watchkitapp; PRODUCT_BUNDLE_IDENTIFIER = com.tt.feels.watchkitapp;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = watchos; SDKROOT = watchos;
SKIP_INSTALL = YES; SKIP_INSTALL = YES;

View File

@@ -15,7 +15,7 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "1CD90AF4278C7DE0001C4FEA" BlueprintIdentifier = "1CD90AF4278C7DE0001C4FEA"
BuildableName = "iFeels.app" BuildableName = "Feels.app"
BlueprintName = "Feels (iOS)" BlueprintName = "Feels (iOS)"
ReferencedContainer = "container:Feels.xcodeproj"> ReferencedContainer = "container:Feels.xcodeproj">
</BuildableReference> </BuildableReference>
@@ -55,7 +55,7 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "1CD90AF4278C7DE0001C4FEA" BlueprintIdentifier = "1CD90AF4278C7DE0001C4FEA"
BuildableName = "iFeels.app" BuildableName = "Feels.app"
BlueprintName = "Feels (iOS)" BlueprintName = "Feels (iOS)"
ReferencedContainer = "container:Feels.xcodeproj"> ReferencedContainer = "container:Feels.xcodeproj">
</BuildableReference> </BuildableReference>
@@ -75,7 +75,7 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "1CD90AF4278C7DE0001C4FEA" BlueprintIdentifier = "1CD90AF4278C7DE0001C4FEA"
BuildableName = "iFeels.app" BuildableName = "Feels.app"
BlueprintName = "Feels (iOS)" BlueprintName = "Feels (iOS)"
ReferencedContainer = "container:Feels.xcodeproj"> ReferencedContainer = "container:Feels.xcodeproj">
</BuildableReference> </BuildableReference>

View File

@@ -30,7 +30,7 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "1CD90AF4278C7DE0001C4FEA" BlueprintIdentifier = "1CD90AF4278C7DE0001C4FEA"
BuildableName = "iFeels.app" BuildableName = "Feels.app"
BlueprintName = "Feels (iOS)" BlueprintName = "Feels (iOS)"
ReferencedContainer = "container:Feels.xcodeproj"> ReferencedContainer = "container:Feels.xcodeproj">
</BuildableReference> </BuildableReference>
@@ -72,7 +72,7 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "1CD90AF4278C7DE0001C4FEA" BlueprintIdentifier = "1CD90AF4278C7DE0001C4FEA"
BuildableName = "iFeels.app" BuildableName = "Feels.app"
BlueprintName = "Feels (iOS)" BlueprintName = "Feels (iOS)"
ReferencedContainer = "container:Feels.xcodeproj"> ReferencedContainer = "container:Feels.xcodeproj">
</BuildableReference> </BuildableReference>
@@ -108,7 +108,7 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "1CD90AF4278C7DE0001C4FEA" BlueprintIdentifier = "1CD90AF4278C7DE0001C4FEA"
BuildableName = "iFeels.app" BuildableName = "Feels.app"
BlueprintName = "Feels (iOS)" BlueprintName = "Feels (iOS)"
ReferencedContainer = "container:Feels.xcodeproj"> ReferencedContainer = "container:Feels.xcodeproj">
</BuildableReference> </BuildableReference>

View File

@@ -12,12 +12,12 @@
<key>Feels (macOS).xcscheme_^#shared#^_</key> <key>Feels (macOS).xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>2</integer> <integer>3</integer>
</dict> </dict>
<key>Feels Watch App.xcscheme_^#shared#^_</key> <key>Feels Watch App.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>3</integer> <integer>2</integer>
</dict> </dict>
<key>FeelsWidgetExtension.xcscheme_^#shared#^_</key> <key>FeelsWidgetExtension.xcscheme_^#shared#^_</key>
<dict> <dict>

File diff suppressed because it is too large Load Diff

View File

@@ -4,7 +4,7 @@
<dict> <dict>
<key>com.apple.developer.icloud-container-identifiers</key> <key>com.apple.developer.icloud-container-identifiers</key>
<array> <array>
<string>iCloud.com.tt.ifeelDebug</string> <string>iCloud.com.tt.feelsDebug</string>
</array> </array>
<key>com.apple.developer.icloud-services</key> <key>com.apple.developer.icloud-services</key>
<array> <array>
@@ -12,7 +12,7 @@
</array> </array>
<key>com.apple.security.application-groups</key> <key>com.apple.security.application-groups</key>
<array> <array>
<string>group.com.tt.ifeelDebug</string> <string>group.com.tt.feelsDebug</string>
</array> </array>
</dict> </dict>
</plist> </plist>

View File

@@ -6,7 +6,7 @@
<string>development</string> <string>development</string>
<key>com.apple.developer.icloud-container-identifiers</key> <key>com.apple.developer.icloud-container-identifiers</key>
<array> <array>
<string>iCloud.com.tt.ifeelDebug</string> <string>iCloud.com.tt.feelsDebug</string>
</array> </array>
<key>com.apple.developer.icloud-services</key> <key>com.apple.developer.icloud-services</key>
<array> <array>
@@ -14,7 +14,7 @@
</array> </array>
<key>com.apple.security.application-groups</key> <key>com.apple.security.application-groups</key>
<array> <array>
<string>group.com.tt.ifeelDebug</string> <string>group.com.tt.feelsDebug</string>
</array> </array>
</dict> </dict>
</plist> </plist>

View File

@@ -9,7 +9,7 @@ import Foundation
import BackgroundTasks import BackgroundTasks
class BGTask { class BGTask {
static let updateDBMissingID = "com.tt.ifeel.dbUpdateMissing" static let updateDBMissingID = "com.tt.feels.dbUpdateMissing"
@MainActor @MainActor
class func runFillInMissingDatesTask(task: BGProcessingTask) { class func runFillInMissingDatesTask(task: BGProcessingTask) {

View File

@@ -14,7 +14,7 @@ class HealthKitManager: ObservableObject {
static let shared = HealthKitManager() static let shared = HealthKitManager()
private let healthStore = HKHealthStore() private let healthStore = HKHealthStore()
private let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.tt.ifeel", category: "HealthKit") private let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.tt.feels", category: "HealthKit")
@Published var isAuthorized = false @Published var isAuthorized = false
@Published var authorizationError: Error? @Published var authorizationError: Error?

View File

@@ -45,8 +45,8 @@ class IAPManager: ObservableObject {
static let subscriptionGroupID = "2CFE4C4F" static let subscriptionGroupID = "2CFE4C4F"
private let productIdentifiers: Set<String> = [ private let productIdentifiers: Set<String> = [
"com.tt.ifeel.IAP.subscriptions.monthly", "com.tt.feels.IAP.subscriptions.monthly",
"com.tt.ifeel.IAP.subscriptions.yearly" "com.tt.feels.IAP.subscriptions.yearly"
] ]
private let trialDays = 30 private let trialDays = 30

View File

@@ -15,7 +15,7 @@ import os.log
final class MoodLogger { final class MoodLogger {
static let shared = MoodLogger() static let shared = MoodLogger()
private static let logger = Logger(subsystem: "com.tt.ifeel", category: "MoodLogger") private static let logger = Logger(subsystem: "com.tt.feels", category: "MoodLogger")
/// Key for tracking the last date side effects were applied /// Key for tracking the last date side effects were applied
private static let lastSideEffectsDateKey = "lastSideEffectsAppliedDate" private static let lastSideEffectsDateKey = "lastSideEffectsAppliedDate"

View File

@@ -11,7 +11,7 @@ import os.log
@MainActor @MainActor
final class DataController: ObservableObject { final class DataController: ObservableObject {
private static let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.tt.ifeel", category: "DataController") private static let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.tt.feels", category: "DataController")
static let shared = DataController() static let shared = DataController()
private(set) var container: ModelContainer private(set) var container: ModelContainer

View File

@@ -20,7 +20,7 @@ final class ExtensionDataProvider {
static let shared = ExtensionDataProvider() static let shared = ExtensionDataProvider()
private static let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.tt.ifeel", category: "ExtensionDataProvider") private static let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.tt.feels", category: "ExtensionDataProvider")
private var _container: ModelContainer? private var _container: ModelContainer?

View File

@@ -25,7 +25,7 @@ enum SharedModelContainerError: LocalizedError {
} }
enum SharedModelContainer { enum SharedModelContainer {
private static let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.tt.ifeel", category: "SharedModelContainer") private static let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "com.tt.feels", category: "SharedModelContainer")
/// Creates a ModelContainer with the appropriate configuration for app group sharing /// Creates a ModelContainer with the appropriate configuration for app group sharing
/// - Parameter useCloudKit: Whether to enable CloudKit sync (defaults to true) /// - Parameter useCloudKit: Whether to enable CloudKit sync (defaults to true)
@@ -107,9 +107,9 @@ enum SharedModelContainer {
/// CloudKit container identifier based on build configuration /// CloudKit container identifier based on build configuration
static var cloudKitContainerID: String { static var cloudKitContainerID: String {
#if DEBUG #if DEBUG
return "iCloud.com.tt.ifeelDebug" return "iCloud.com.tt.feelsDebug"
#else #else
return "iCloud.com.tt.ifeel" return "iCloud.com.tt.feels"
#endif #endif
} }

View File

@@ -10,8 +10,8 @@ import SwiftUI
import SwiftData import SwiftData
struct Constants { struct Constants {
static let groupShareId = "group.com.tt.ifeel" static let groupShareId = "group.com.tt.feels"
static let groupShareIdDebug = "group.com.tt.ifeelDebug" static let groupShareIdDebug = "group.com.tt.feelsDebug"
static var currentGroupShareId: String { static var currentGroupShareId: String {
#if DEBUG #if DEBUG

View File

@@ -29,6 +29,6 @@ enum AppLogger {
// MARK: - Private // MARK: - Private
private static var subsystem: String { private static var subsystem: String {
Bundle.main.bundleIdentifier ?? "com.tt.ifeel" Bundle.main.bundleIdentifier ?? "com.tt.feels"
} }
} }

View File

@@ -13,7 +13,7 @@ final class ImageCache {
static let shared = ImageCache() static let shared = ImageCache()
private let cache = NSCache<NSString, UIImage>() private let cache = NSCache<NSString, UIImage>()
private let queue = DispatchQueue(label: "com.tt.ifeel.imagecache", qos: .userInitiated) private let queue = DispatchQueue(label: "com.tt.feels.imagecache", qos: .userInitiated)
private init() { private init() {
// Configure cache limits // Configure cache limits

View File

@@ -17,7 +17,7 @@ final class WatchConnectivityManager: NSObject, ObservableObject {
static let shared = WatchConnectivityManager() static let shared = WatchConnectivityManager()
private static let logger = Logger(subsystem: "com.tt.ifeel", category: "WatchConnectivity") private static let logger = Logger(subsystem: "com.tt.feels", category: "WatchConnectivity")
private var session: WCSession? private var session: WCSession?

View File

@@ -72,7 +72,7 @@ extension VoteMoodIntent: ForegroundContinuableIntent {}
#if WIDGET_EXTENSION #if WIDGET_EXTENSION
enum WidgetMoodSaver { enum WidgetMoodSaver {
private static let logger = Logger(subsystem: "com.tt.ifeel.widget", category: "WidgetMoodSaver") private static let logger = Logger(subsystem: "com.tt.feels.widget", category: "WidgetMoodSaver")
@MainActor @MainActor
static func save(mood: Mood, date: Date) { static func save(mood: Mood, date: Date) {

View File

@@ -683,7 +683,7 @@ struct SettingsContentView: View {
theme.currentTheme.secondaryBGColor theme.currentTheme.secondaryBGColor
Button(action: { Button(action: {
EventLogger.log(event: "show_eula") EventLogger.log(event: "show_eula")
if let url = URL(string: "https://ifeels.app/eula.html") { if let url = URL(string: "https://feels.app/eula.html") {
UIApplication.shared.open(url) UIApplication.shared.open(url)
} }
}, label: { }, label: {
@@ -702,7 +702,7 @@ struct SettingsContentView: View {
theme.currentTheme.secondaryBGColor theme.currentTheme.secondaryBGColor
Button(action: { Button(action: {
EventLogger.log(event: "show_privacy") EventLogger.log(event: "show_privacy")
if let url = URL(string: "https://ifeels.app/privacy.html") { if let url = URL(string: "https://feels.app/privacy.html") {
UIApplication.shared.open(url) UIApplication.shared.open(url)
} }
}, label: { }, label: {
@@ -1367,7 +1367,7 @@ struct SettingsView: View {
theme.currentTheme.secondaryBGColor theme.currentTheme.secondaryBGColor
Button(action: { Button(action: {
EventLogger.log(event: "show_eula") EventLogger.log(event: "show_eula")
openURL(URL(string: "https://ifeels.app/eula.html")!) openURL(URL(string: "https://feels.app/eula.html")!)
}, label: { }, label: {
Text(String(localized: "settings_view_show_eula")) Text(String(localized: "settings_view_show_eula"))
.foregroundColor(textColor) .foregroundColor(textColor)
@@ -1383,7 +1383,7 @@ struct SettingsView: View {
theme.currentTheme.secondaryBGColor theme.currentTheme.secondaryBGColor
Button(action: { Button(action: {
EventLogger.log(event: "show_privacy") EventLogger.log(event: "show_privacy")
openURL(URL(string: "https://ifeels.app/privacy.html")!) openURL(URL(string: "https://feels.app/privacy.html")!)
}, label: { }, label: {
Text(String(localized: "settings_view_show_privacy")) Text(String(localized: "settings_view_show_privacy"))
.foregroundColor(textColor) .foregroundColor(textColor)