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:
@@ -92,7 +92,7 @@
|
||||
"locale" : "en_US"
|
||||
}
|
||||
],
|
||||
"productID" : "com.tt.ifeel.IAP.subscriptions.monthly",
|
||||
"productID" : "com.tt.feels.IAP.subscriptions.monthly",
|
||||
"recurringSubscriptionPeriod" : "P1M",
|
||||
"referenceName" : "Monthly",
|
||||
"subscriptionGroupID" : "2CFE4C4F",
|
||||
@@ -120,7 +120,7 @@
|
||||
"locale" : "en_US"
|
||||
}
|
||||
],
|
||||
"productID" : "com.tt.ifeel.IAP.subscriptions.yearly",
|
||||
"productID" : "com.tt.feels.IAP.subscriptions.yearly",
|
||||
"recurringSubscriptionPeriod" : "P1Y",
|
||||
"referenceName" : "Yearly",
|
||||
"subscriptionGroupID" : "2CFE4C4F",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<dict>
|
||||
<key>com.apple.developer.icloud-container-identifiers</key>
|
||||
<array>
|
||||
<string>iCloud.com.tt.ifeelDebug</string>
|
||||
<string>iCloud.com.tt.feelsDebug</string>
|
||||
</array>
|
||||
<key>com.apple.developer.icloud-services</key>
|
||||
<array>
|
||||
@@ -12,7 +12,7 @@
|
||||
</array>
|
||||
<key>com.apple.security.application-groups</key>
|
||||
<array>
|
||||
<string>group.com.tt.ifeelDebug</string>
|
||||
<string>group.com.tt.feelsDebug</string>
|
||||
</array>
|
||||
<key>com.apple.developer.healthkit</key>
|
||||
<true/>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<string>development</string>
|
||||
<key>com.apple.developer.icloud-container-identifiers</key>
|
||||
<array>
|
||||
<string>iCloud.com.tt.ifeelDebug</string>
|
||||
<string>iCloud.com.tt.feelsDebug</string>
|
||||
</array>
|
||||
<key>com.apple.developer.icloud-services</key>
|
||||
<array>
|
||||
@@ -14,7 +14,7 @@
|
||||
</array>
|
||||
<key>com.apple.security.application-groups</key>
|
||||
<array>
|
||||
<string>group.com.tt.ifeelDebug</string>
|
||||
<string>group.com.tt.feelsDebug</string>
|
||||
</array>
|
||||
<key>com.apple.developer.healthkit</key>
|
||||
<true/>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<dict>
|
||||
<key>com.apple.security.application-groups</key>
|
||||
<array>
|
||||
<string>group.com.tt.ifeel</string>
|
||||
<string>group.com.tt.feels</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<dict>
|
||||
<key>com.apple.security.application-groups</key>
|
||||
<array>
|
||||
<string>group.com.tt.ifeelDebug</string>
|
||||
<string>group.com.tt.feelsDebug</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
<dict>
|
||||
<key>BGTaskSchedulerPermittedIdentifiers</key>
|
||||
<array>
|
||||
<string>com.tt.ifeel.dbUpdateMissing</string>
|
||||
<string>com.tt.feels.dbUpdateMissing</string>
|
||||
</array>
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>com.tt.ifeel</string>
|
||||
<string>com.tt.feels</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>feels</string>
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
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>"; };
|
||||
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; };
|
||||
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; };
|
||||
@@ -220,7 +220,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1E594AEAB5F046E3B3ED7C47 /* Feels Watch App.app */,
|
||||
1CD90AF5278C7DE0001C4FEA /* iFeels.app */,
|
||||
1CD90AF5278C7DE0001C4FEA /* Feels.app */,
|
||||
1CD90AFB278C7DE0001C4FEA /* Feels.app */,
|
||||
1CD90B02278C7DE0001C4FEA /* Tests iOS.xctest */,
|
||||
1CD90B0E278C7DE0001C4FEA /* Tests macOS.xctest */,
|
||||
@@ -291,7 +291,7 @@
|
||||
1C9566432EF8F5F70032E68F /* Algorithms */,
|
||||
);
|
||||
productName = "Feels (iOS)";
|
||||
productReference = 1CD90AF5278C7DE0001C4FEA /* iFeels.app */;
|
||||
productReference = 1CD90AF5278C7DE0001C4FEA /* Feels.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
1CD90AFA278C7DE0001C4FEA /* Feels (macOS) */ = {
|
||||
@@ -582,14 +582,14 @@
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = Feels;
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
|
||||
INFOPLIST_KEY_WKCompanionAppBundleIdentifier = com.tt.ifeelDebug;
|
||||
INFOPLIST_KEY_WKCompanionAppBundleIdentifier = com.tt.feelsDebug;
|
||||
INFOPLIST_KEY_WKRunsIndependentlyOfCompanionApp = NO;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0.2;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.tt.ifeelDebug.watchkitapp;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.tt.feelsDebug.watchkitapp;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = watchos;
|
||||
SKIP_INSTALL = YES;
|
||||
@@ -748,8 +748,8 @@
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0.2;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.tt.ifeelDebug;
|
||||
PRODUCT_NAME = iFeels;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.tt.feelsDebug;
|
||||
PRODUCT_NAME = Feels;
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||
@@ -783,8 +783,8 @@
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0.2;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.tt.ifeelDebug;
|
||||
PRODUCT_NAME = iFeels;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.tt.feelsDebug;
|
||||
PRODUCT_NAME = Feels;
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||
@@ -817,7 +817,7 @@
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 12.1;
|
||||
MARKETING_VERSION = 1.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.tt.ifeel;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.tt.feels;
|
||||
PRODUCT_NAME = Feels;
|
||||
SDKROOT = macosx;
|
||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||
@@ -848,7 +848,7 @@
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 12.1;
|
||||
MARKETING_VERSION = 1.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.tt.ifeelDebug;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.tt.feelsDebug;
|
||||
PRODUCT_NAME = Feels;
|
||||
SDKROOT = macosx;
|
||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||
@@ -940,7 +940,7 @@
|
||||
CURRENT_PROJECT_VERSION = 23;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_FILE = "FeelsWidgetExtension-Info.plist";
|
||||
INFOPLIST_KEY_CFBundleDisplayName = iFeelsWidget;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = FeelsWidget;
|
||||
INFOPLIST_KEY_NSHumanReadableCopyright = "";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 18.6;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
@@ -949,7 +949,7 @@
|
||||
"@executable_path/../../Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0.2;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.tt.ifeelDebug.FeelsWidgetDebug;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.tt.feelsDebug.FeelsWidgetDebug;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SDKROOT = iphoneos;
|
||||
@@ -972,7 +972,7 @@
|
||||
CURRENT_PROJECT_VERSION = 23;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_FILE = "FeelsWidgetExtension-Info.plist";
|
||||
INFOPLIST_KEY_CFBundleDisplayName = iFeelsWidget;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = FeelsWidget;
|
||||
INFOPLIST_KEY_NSHumanReadableCopyright = "";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 18.6;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
@@ -981,7 +981,7 @@
|
||||
"@executable_path/../../Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0.2;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.tt.ifeelDebug.FeelsWidget;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.tt.feelsDebug.FeelsWidget;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SDKROOT = iphoneos;
|
||||
@@ -1006,14 +1006,14 @@
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = Feels;
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
|
||||
INFOPLIST_KEY_WKCompanionAppBundleIdentifier = com.tt.ifeel;
|
||||
INFOPLIST_KEY_WKCompanionAppBundleIdentifier = com.tt.feels;
|
||||
INFOPLIST_KEY_WKRunsIndependentlyOfCompanionApp = NO;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0.2;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.tt.ifeel.watchkitapp;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.tt.feels.watchkitapp;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = watchos;
|
||||
SKIP_INSTALL = YES;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1CD90AF4278C7DE0001C4FEA"
|
||||
BuildableName = "iFeels.app"
|
||||
BuildableName = "Feels.app"
|
||||
BlueprintName = "Feels (iOS)"
|
||||
ReferencedContainer = "container:Feels.xcodeproj">
|
||||
</BuildableReference>
|
||||
@@ -55,7 +55,7 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1CD90AF4278C7DE0001C4FEA"
|
||||
BuildableName = "iFeels.app"
|
||||
BuildableName = "Feels.app"
|
||||
BlueprintName = "Feels (iOS)"
|
||||
ReferencedContainer = "container:Feels.xcodeproj">
|
||||
</BuildableReference>
|
||||
@@ -75,7 +75,7 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1CD90AF4278C7DE0001C4FEA"
|
||||
BuildableName = "iFeels.app"
|
||||
BuildableName = "Feels.app"
|
||||
BlueprintName = "Feels (iOS)"
|
||||
ReferencedContainer = "container:Feels.xcodeproj">
|
||||
</BuildableReference>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1CD90AF4278C7DE0001C4FEA"
|
||||
BuildableName = "iFeels.app"
|
||||
BuildableName = "Feels.app"
|
||||
BlueprintName = "Feels (iOS)"
|
||||
ReferencedContainer = "container:Feels.xcodeproj">
|
||||
</BuildableReference>
|
||||
@@ -72,7 +72,7 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1CD90AF4278C7DE0001C4FEA"
|
||||
BuildableName = "iFeels.app"
|
||||
BuildableName = "Feels.app"
|
||||
BlueprintName = "Feels (iOS)"
|
||||
ReferencedContainer = "container:Feels.xcodeproj">
|
||||
</BuildableReference>
|
||||
@@ -108,7 +108,7 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1CD90AF4278C7DE0001C4FEA"
|
||||
BuildableName = "iFeels.app"
|
||||
BuildableName = "Feels.app"
|
||||
BlueprintName = "Feels (iOS)"
|
||||
ReferencedContainer = "container:Feels.xcodeproj">
|
||||
</BuildableReference>
|
||||
|
||||
@@ -12,12 +12,12 @@
|
||||
<key>Feels (macOS).xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>2</integer>
|
||||
<integer>3</integer>
|
||||
</dict>
|
||||
<key>Feels Watch App.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>3</integer>
|
||||
<integer>2</integer>
|
||||
</dict>
|
||||
<key>FeelsWidgetExtension.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,7 @@
|
||||
<dict>
|
||||
<key>com.apple.developer.icloud-container-identifiers</key>
|
||||
<array>
|
||||
<string>iCloud.com.tt.ifeelDebug</string>
|
||||
<string>iCloud.com.tt.feelsDebug</string>
|
||||
</array>
|
||||
<key>com.apple.developer.icloud-services</key>
|
||||
<array>
|
||||
@@ -12,7 +12,7 @@
|
||||
</array>
|
||||
<key>com.apple.security.application-groups</key>
|
||||
<array>
|
||||
<string>group.com.tt.ifeelDebug</string>
|
||||
<string>group.com.tt.feelsDebug</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<string>development</string>
|
||||
<key>com.apple.developer.icloud-container-identifiers</key>
|
||||
<array>
|
||||
<string>iCloud.com.tt.ifeelDebug</string>
|
||||
<string>iCloud.com.tt.feelsDebug</string>
|
||||
</array>
|
||||
<key>com.apple.developer.icloud-services</key>
|
||||
<array>
|
||||
@@ -14,7 +14,7 @@
|
||||
</array>
|
||||
<key>com.apple.security.application-groups</key>
|
||||
<array>
|
||||
<string>group.com.tt.ifeelDebug</string>
|
||||
<string>group.com.tt.feelsDebug</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@@ -9,7 +9,7 @@ import Foundation
|
||||
import BackgroundTasks
|
||||
|
||||
class BGTask {
|
||||
static let updateDBMissingID = "com.tt.ifeel.dbUpdateMissing"
|
||||
static let updateDBMissingID = "com.tt.feels.dbUpdateMissing"
|
||||
|
||||
@MainActor
|
||||
class func runFillInMissingDatesTask(task: BGProcessingTask) {
|
||||
|
||||
@@ -14,7 +14,7 @@ class HealthKitManager: ObservableObject {
|
||||
static let shared = HealthKitManager()
|
||||
|
||||
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 authorizationError: Error?
|
||||
|
||||
@@ -45,8 +45,8 @@ class IAPManager: ObservableObject {
|
||||
static let subscriptionGroupID = "2CFE4C4F"
|
||||
|
||||
private let productIdentifiers: Set<String> = [
|
||||
"com.tt.ifeel.IAP.subscriptions.monthly",
|
||||
"com.tt.ifeel.IAP.subscriptions.yearly"
|
||||
"com.tt.feels.IAP.subscriptions.monthly",
|
||||
"com.tt.feels.IAP.subscriptions.yearly"
|
||||
]
|
||||
|
||||
private let trialDays = 30
|
||||
|
||||
@@ -15,7 +15,7 @@ import os.log
|
||||
final class 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
|
||||
private static let lastSideEffectsDateKey = "lastSideEffectsAppliedDate"
|
||||
|
||||
@@ -11,7 +11,7 @@ import os.log
|
||||
|
||||
@MainActor
|
||||
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()
|
||||
|
||||
private(set) var container: ModelContainer
|
||||
|
||||
@@ -20,7 +20,7 @@ final class 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?
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ enum SharedModelContainerError: LocalizedError {
|
||||
}
|
||||
|
||||
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
|
||||
/// - Parameter useCloudKit: Whether to enable CloudKit sync (defaults to true)
|
||||
@@ -107,9 +107,9 @@ enum SharedModelContainer {
|
||||
/// CloudKit container identifier based on build configuration
|
||||
static var cloudKitContainerID: String {
|
||||
#if DEBUG
|
||||
return "iCloud.com.tt.ifeelDebug"
|
||||
return "iCloud.com.tt.feelsDebug"
|
||||
#else
|
||||
return "iCloud.com.tt.ifeel"
|
||||
return "iCloud.com.tt.feels"
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -10,8 +10,8 @@ import SwiftUI
|
||||
import SwiftData
|
||||
|
||||
struct Constants {
|
||||
static let groupShareId = "group.com.tt.ifeel"
|
||||
static let groupShareIdDebug = "group.com.tt.ifeelDebug"
|
||||
static let groupShareId = "group.com.tt.feels"
|
||||
static let groupShareIdDebug = "group.com.tt.feelsDebug"
|
||||
|
||||
static var currentGroupShareId: String {
|
||||
#if DEBUG
|
||||
|
||||
@@ -29,6 +29,6 @@ enum AppLogger {
|
||||
// MARK: - Private
|
||||
|
||||
private static var subsystem: String {
|
||||
Bundle.main.bundleIdentifier ?? "com.tt.ifeel"
|
||||
Bundle.main.bundleIdentifier ?? "com.tt.feels"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ final class ImageCache {
|
||||
static let shared = ImageCache()
|
||||
|
||||
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() {
|
||||
// Configure cache limits
|
||||
|
||||
@@ -17,7 +17,7 @@ final class WatchConnectivityManager: NSObject, ObservableObject {
|
||||
|
||||
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?
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ extension VoteMoodIntent: ForegroundContinuableIntent {}
|
||||
|
||||
#if WIDGET_EXTENSION
|
||||
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
|
||||
static func save(mood: Mood, date: Date) {
|
||||
|
||||
@@ -683,7 +683,7 @@ struct SettingsContentView: View {
|
||||
theme.currentTheme.secondaryBGColor
|
||||
Button(action: {
|
||||
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)
|
||||
}
|
||||
}, label: {
|
||||
@@ -702,7 +702,7 @@ struct SettingsContentView: View {
|
||||
theme.currentTheme.secondaryBGColor
|
||||
Button(action: {
|
||||
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)
|
||||
}
|
||||
}, label: {
|
||||
@@ -1367,7 +1367,7 @@ struct SettingsView: View {
|
||||
theme.currentTheme.secondaryBGColor
|
||||
Button(action: {
|
||||
EventLogger.log(event: "show_eula")
|
||||
openURL(URL(string: "https://ifeels.app/eula.html")!)
|
||||
openURL(URL(string: "https://feels.app/eula.html")!)
|
||||
}, label: {
|
||||
Text(String(localized: "settings_view_show_eula"))
|
||||
.foregroundColor(textColor)
|
||||
@@ -1383,7 +1383,7 @@ struct SettingsView: View {
|
||||
theme.currentTheme.secondaryBGColor
|
||||
Button(action: {
|
||||
EventLogger.log(event: "show_privacy")
|
||||
openURL(URL(string: "https://ifeels.app/privacy.html")!)
|
||||
openURL(URL(string: "https://feels.app/privacy.html")!)
|
||||
}, label: {
|
||||
Text(String(localized: "settings_view_show_privacy"))
|
||||
.foregroundColor(textColor)
|
||||
|
||||
Reference in New Issue
Block a user