diff --git a/iosApp/CaseraUITests.xctestplan b/iosApp/CaseraUITests.xctestplan index 00bead4..a56ed7e 100644 --- a/iosApp/CaseraUITests.xctestplan +++ b/iosApp/CaseraUITests.xctestplan @@ -24,7 +24,7 @@ "SimpleLoginTest\/testCanTypeInLoginFields()" ], "target" : { - "containerPath" : "container:iosApp.xcodeproj", + "containerPath" : "container:honeyDue.xcodeproj", "identifier" : "1CBF1BEC2ECD9768001BF56C", "name" : "HoneyDueUITests" } diff --git a/iosApp/Configuration/Config.xcconfig b/iosApp/Configuration/Config.xcconfig index a184aec..a9e8e85 100644 --- a/iosApp/Configuration/Config.xcconfig +++ b/iosApp/Configuration/Config.xcconfig @@ -1,7 +1,6 @@ TEAM_ID= PRODUCT_NAME=honeyDue -PRODUCT_BUNDLE_IDENTIFIER=com.tt.honeyDue.HoneyDue$(TEAM_ID) CURRENT_PROJECT_VERSION=1 MARKETING_VERSION=1.0 \ No newline at end of file diff --git a/iosApp/HoneyDue/AppIntent.swift b/iosApp/HoneyDue/AppIntent.swift index dece293..5570cc4 100644 --- a/iosApp/HoneyDue/AppIntent.swift +++ b/iosApp/HoneyDue/AppIntent.swift @@ -147,7 +147,9 @@ struct OpenTaskIntent: AppIntent { final class WidgetActionManager { static let shared = WidgetActionManager() - private let appGroupIdentifier = "group.com.tt.honeyDue.HoneyDueDev" + private let appGroupIdentifier: String = { + Bundle.main.infoDictionary?["AppGroupIdentifier"] as? String ?? "group.com.tt.honeyDue.dev" + }() private let pendingTasksFileName = "widget_pending_tasks.json" private let tokenKey = "widget_auth_token" private let dirtyFlagKey = "widget_tasks_dirty" diff --git a/iosApp/HoneyDue/Assets.xcassets/AppIcon.appiconset/Contents.json b/iosApp/HoneyDue/Assets.xcassets/AppIcon.appiconset/Contents.json index 2305880..c68da6c 100644 --- a/iosApp/HoneyDue/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/iosApp/HoneyDue/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,6 +1,7 @@ { "images" : [ { + "filename" : "icon.png", "idiom" : "universal", "platform" : "ios", "size" : "1024x1024" diff --git a/iosApp/HoneyDue/HoneyDue.swift b/iosApp/HoneyDue/HoneyDue.swift index 0978e2c..99f552d 100644 --- a/iosApp/HoneyDue/HoneyDue.swift +++ b/iosApp/HoneyDue/HoneyDue.swift @@ -110,7 +110,9 @@ class CacheManager { } } - private static let appGroupIdentifier = "group.com.tt.honeyDue.HoneyDueDev" + private static let appGroupIdentifier: String = { + Bundle.main.infoDictionary?["AppGroupIdentifier"] as? String ?? "group.com.tt.honeyDue.dev" + }() private static let tasksFileName = "widget_tasks.json" /// Get the shared App Group container URL diff --git a/iosApp/HoneyDue/Info.plist b/iosApp/HoneyDue/Info.plist index 0f118fb..d05ef19 100644 --- a/iosApp/HoneyDue/Info.plist +++ b/iosApp/HoneyDue/Info.plist @@ -2,6 +2,8 @@ + AppGroupIdentifier + $(APP_GROUP_IDENTIFIER) NSExtension NSExtensionPointIdentifier diff --git a/iosApp/HoneyDueExtension.entitlements b/iosApp/HoneyDueExtension.entitlements index 030d7c0..d9849a8 100644 --- a/iosApp/HoneyDueExtension.entitlements +++ b/iosApp/HoneyDueExtension.entitlements @@ -4,7 +4,7 @@ com.apple.security.application-groups - group.com.tt.honeyDue.HoneyDueDev + $(APP_GROUP_IDENTIFIER) diff --git a/iosApp/HoneyDueUITests.xctestplan b/iosApp/HoneyDueUITests.xctestplan new file mode 100644 index 0000000..a986eb1 --- /dev/null +++ b/iosApp/HoneyDueUITests.xctestplan @@ -0,0 +1,37 @@ +{ + "configurations" : [ + { + "id" : "F0DABEBB-1E5F-4A1A-BFDC-5AAA8635B8BA", + "name" : "Test Scheme Action", + "options" : { + + } + } + ], + "defaultOptions" : { + "performanceAntipatternCheckerEnabled" : true, + "targetForVariableExpansion" : { + "containerPath" : "container:honeyDue.xcodeproj", + "identifier" : "D4ADB376A7A4CFB73469E173", + "name" : "HoneyDue" + } + }, + "testTargets" : [ + { + "parallelizable" : true, + "target" : { + "containerPath" : "container:honeyDue.xcodeproj", + "identifier" : "1C685CD12EC5539000A9669B", + "name" : "HoneyDueTests" + } + }, + { + "target" : { + "containerPath" : "container:honeyDue.xcodeproj", + "identifier" : "1CBF1BEC2ECD9768001BF56C", + "name" : "HoneyDueUITests" + } + } + ], + "version" : 1 +} diff --git a/iosApp/HoneyDueUITests/Suite0_OnboardingTests.swift b/iosApp/HoneyDueUITests/Suite0_OnboardingTests.swift index a4f3d61..226c05b 100644 --- a/iosApp/HoneyDueUITests/Suite0_OnboardingTests.swift +++ b/iosApp/HoneyDueUITests/Suite0_OnboardingTests.swift @@ -5,7 +5,7 @@ import XCTest /// SETUP REQUIREMENTS: /// This test suite requires the app to be UNINSTALLED before running. /// Add a Pre-action script to the honeyDueUITests scheme (Edit Scheme → Test → Pre-actions): -/// /usr/bin/xcrun simctl uninstall booted com.tt.honeyDue.HoneyDueDev +/// /usr/bin/xcrun simctl uninstall booted com.tt.honeyDue.dev /// exit 0 /// /// There is ONE fresh-install test that runs the complete onboarding flow. diff --git a/iosApp/iosApp.xcodeproj/project.pbxproj b/iosApp/honeyDue.xcodeproj/project.pbxproj similarity index 97% rename from iosApp/iosApp.xcodeproj/project.pbxproj rename to iosApp/honeyDue.xcodeproj/project.pbxproj index e399b9e..ceeedfb 100644 --- a/iosApp/iosApp.xcodeproj/project.pbxproj +++ b/iosApp/honeyDue.xcodeproj/project.pbxproj @@ -44,14 +44,14 @@ containerPortal = 6A3E1D84F9F1A2FD92A75A6C /* Project object */; proxyType = 1; remoteGlobalIDString = D4ADB376A7A4CFB73469E173; - remoteInfo = iosApp; + remoteInfo = honeyDue; }; 1CBF1BF32ECD9768001BF56C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 6A3E1D84F9F1A2FD92A75A6C /* Project object */; proxyType = 1; remoteGlobalIDString = D4ADB376A7A4CFB73469E173; - remoteInfo = iosApp; + remoteInfo = honeyDue; }; /* End PBXContainerItemProxy section */ @@ -457,7 +457,7 @@ packageProductDependencies = ( 1C81F38F2EE69AF1000739EA /* PostHog */, ); - productName = iosApp; + productName = honeyDue; productReference = 96A3DDC05E14B3F83E56282F /* HoneyDue.app */; productType = "com.apple.product-type.application"; }; @@ -493,7 +493,7 @@ }; }; }; - buildConfigurationList = F25B3A5CCAC6BFCC21CD4636 /* Build configuration list for PBXProject "iosApp" */; + buildConfigurationList = F25B3A5CCAC6BFCC21CD4636 /* Build configuration list for PBXProject "honeyDue" */; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -664,6 +664,7 @@ 0248CABA5A5197845F2E5C26 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + APP_GROUP_IDENTIFIER = group.com.tt.honeyDue; ARCHS = arm64; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -688,7 +689,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueDev; + PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -718,7 +719,8 @@ ); MARKETING_VERSION = 1.0; OTHER_SWIFT_FLAGS = "-DWIDGET_EXTENSION"; - PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueDev.HoneyDueDev; + APP_GROUP_IDENTIFIER = group.com.tt.honeyDue.dev; + PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.dev.HoneyDueExtension; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; STRING_CATALOG_GENERATE_SYMBOLS = YES; @@ -753,7 +755,8 @@ ); MARKETING_VERSION = 1.0; OTHER_SWIFT_FLAGS = "-DWIDGET_EXTENSION"; - PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueDev.HoneyDueDev; + APP_GROUP_IDENTIFIER = group.com.tt.honeyDue; + PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueExtension; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; STRING_CATALOG_GENERATE_SYMBOLS = YES; @@ -777,7 +780,7 @@ GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 26.1; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.t-t.HoneyDueTests"; + PRODUCT_BUNDLE_IDENTIFIER = com.tt.HoneyDueTests; PRODUCT_NAME = "$(TARGET_NAME)"; STRING_CATALOG_GENERATE_SYMBOLS = NO; SWIFT_APPROACHABLE_CONCURRENCY = YES; @@ -803,7 +806,7 @@ GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 26.1; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.t-t.HoneyDueTests"; + PRODUCT_BUNDLE_IDENTIFIER = com.tt.HoneyDueTests; PRODUCT_NAME = "$(TARGET_NAME)"; STRING_CATALOG_GENERATE_SYMBOLS = NO; SWIFT_APPROACHABLE_CONCURRENCY = YES; @@ -836,7 +839,7 @@ "@executable_path/../../Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueDev.HoneyDueQLPreview; + PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.dev.HoneyDueQLPreview; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; STRING_CATALOG_GENERATE_SYMBOLS = YES; @@ -867,7 +870,7 @@ "@executable_path/../../Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueDev.HoneyDueQLPreview; + PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueQLPreview; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; STRING_CATALOG_GENERATE_SYMBOLS = YES; @@ -898,7 +901,7 @@ "@executable_path/../../Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueDev.HoneyDueQLThumbnail; + PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.dev.HoneyDueQLThumbnail; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; STRING_CATALOG_GENERATE_SYMBOLS = YES; @@ -929,7 +932,7 @@ "@executable_path/../../Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueDev.HoneyDueQLThumbnail; + PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueQLThumbnail; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; STRING_CATALOG_GENERATE_SYMBOLS = YES; @@ -952,7 +955,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 26.1; MACOSX_DEPLOYMENT_TARGET = 26.1; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.t-t.HoneyDueUITests"; + PRODUCT_BUNDLE_IDENTIFIER = com.tt.HoneyDueUITests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = auto; STRING_CATALOG_GENERATE_SYMBOLS = NO; @@ -978,7 +981,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 26.1; MACOSX_DEPLOYMENT_TARGET = 26.1; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.t-t.HoneyDueUITests"; + PRODUCT_BUNDLE_IDENTIFIER = com.tt.HoneyDueUITests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = auto; STRING_CATALOG_GENERATE_SYMBOLS = NO; @@ -1121,6 +1124,7 @@ E767E942685C7832D51FF978 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + APP_GROUP_IDENTIFIER = group.com.tt.honeyDue.dev; ARCHS = arm64; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -1145,7 +1149,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueDev; + PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.dev; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1209,7 +1213,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F25B3A5CCAC6BFCC21CD4636 /* Build configuration list for PBXProject "iosApp" */ = { + F25B3A5CCAC6BFCC21CD4636 /* Build configuration list for PBXProject "honeyDue" */ = { isa = XCConfigurationList; buildConfigurations = ( 80B0F01D77D413305F161C14 /* Debug */, diff --git a/iosApp/iosApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/iosApp/honeyDue.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from iosApp/iosApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to iosApp/honeyDue.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/iosApp/iosApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/iosApp/honeyDue.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved similarity index 100% rename from iosApp/iosApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved rename to iosApp/honeyDue.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved diff --git a/iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/Casera.xcscheme b/iosApp/honeyDue.xcodeproj/xcshareddata/xcschemes/HoneyDue.xcscheme similarity index 91% rename from iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/Casera.xcscheme rename to iosApp/honeyDue.xcodeproj/xcshareddata/xcschemes/HoneyDue.xcscheme index fae3c91..5224c01 100644 --- a/iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/Casera.xcscheme +++ b/iosApp/honeyDue.xcodeproj/xcshareddata/xcschemes/HoneyDue.xcscheme @@ -18,7 +18,7 @@ BlueprintIdentifier = "D4ADB376A7A4CFB73469E173" BuildableName = "honeyDue.app" BlueprintName = "HoneyDue" - ReferencedContainer = "container:iosApp.xcodeproj"> + ReferencedContainer = "container:honeyDue.xcodeproj"> @@ -36,7 +36,7 @@ BlueprintIdentifier = "1C685CD12EC5539000A9669B" BuildableName = "HoneyDueTests.xctest" BlueprintName = "HoneyDueTests" - ReferencedContainer = "container:iosApp.xcodeproj"> + ReferencedContainer = "container:honeyDue.xcodeproj"> @@ -58,7 +58,7 @@ BlueprintIdentifier = "D4ADB376A7A4CFB73469E173" BuildableName = "honeyDue.app" BlueprintName = "HoneyDue" - ReferencedContainer = "container:iosApp.xcodeproj"> + ReferencedContainer = "container:honeyDue.xcodeproj"> @@ -74,7 +74,7 @@ BlueprintIdentifier = "D4ADB376A7A4CFB73469E173" BuildableName = "honeyDue.app" BlueprintName = "HoneyDue" - ReferencedContainer = "container:iosApp.xcodeproj"> + ReferencedContainer = "container:honeyDue.xcodeproj"> diff --git a/iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/CaseraExtension.xcscheme b/iosApp/honeyDue.xcodeproj/xcshareddata/xcschemes/HoneyDueExtension.xcscheme similarity index 92% rename from iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/CaseraExtension.xcscheme rename to iosApp/honeyDue.xcodeproj/xcshareddata/xcschemes/HoneyDueExtension.xcscheme index 30f7a7a..001c9cb 100644 --- a/iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/CaseraExtension.xcscheme +++ b/iosApp/honeyDue.xcodeproj/xcshareddata/xcschemes/HoneyDueExtension.xcscheme @@ -19,7 +19,7 @@ BlueprintIdentifier = "1C07893C2EBC218B00392B46" BuildableName = "HoneyDueExtension.appex" BlueprintName = "HoneyDueExtension" - ReferencedContainer = "container:iosApp.xcodeproj"> + ReferencedContainer = "container:honeyDue.xcodeproj"> + ReferencedContainer = "container:honeyDue.xcodeproj"> @@ -53,7 +53,7 @@ BlueprintIdentifier = "1CBF1BEC2ECD9768001BF56C" BuildableName = "HoneyDueUITests.xctest" BlueprintName = "HoneyDueUITests" - ReferencedContainer = "container:iosApp.xcodeproj"> + ReferencedContainer = "container:honeyDue.xcodeproj"> @@ -77,7 +77,7 @@ BlueprintIdentifier = "D4ADB376A7A4CFB73469E173" BuildableName = "honeyDue.app" BlueprintName = "HoneyDue" - ReferencedContainer = "container:iosApp.xcodeproj"> + ReferencedContainer = "container:honeyDue.xcodeproj"> @@ -113,7 +113,7 @@ BlueprintIdentifier = "D4ADB376A7A4CFB73469E173" BuildableName = "honeyDue.app" BlueprintName = "HoneyDue" - ReferencedContainer = "container:iosApp.xcodeproj"> + ReferencedContainer = "container:honeyDue.xcodeproj"> diff --git a/iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/CaseraUITests.xcscheme b/iosApp/honeyDue.xcodeproj/xcshareddata/xcschemes/HoneyDueUITests.xcscheme similarity index 92% rename from iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/CaseraUITests.xcscheme rename to iosApp/honeyDue.xcodeproj/xcshareddata/xcschemes/HoneyDueUITests.xcscheme index d9066bd..fb75c50 100644 --- a/iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/CaseraUITests.xcscheme +++ b/iosApp/honeyDue.xcodeproj/xcshareddata/xcschemes/HoneyDueUITests.xcscheme @@ -14,7 +14,7 @@ shouldUseLaunchSchemeArgsEnv = "YES"> @@ -26,7 +26,7 @@ BlueprintIdentifier = "1CBF1BEC2ECD9768001BF56C" BuildableName = "HoneyDueUITests.xctest" BlueprintName = "HoneyDueUITests" - ReferencedContainer = "container:iosApp.xcodeproj"> + ReferencedContainer = "container:honeyDue.xcodeproj"> + ReferencedContainer = "container:honeyDue.xcodeproj"> @@ -90,7 +90,7 @@ BlueprintIdentifier = "D4ADB376A7A4CFB73469E173" BuildableName = "honeyDue.app" BlueprintName = "HoneyDue" - ReferencedContainer = "container:iosApp.xcodeproj"> + ReferencedContainer = "container:honeyDue.xcodeproj"> diff --git a/iosApp/iosApp/Design/DesignSystem.swift b/iosApp/iosApp/Design/DesignSystem.swift index 2d8e7aa..e95c768 100644 --- a/iosApp/iosApp/Design/DesignSystem.swift +++ b/iosApp/iosApp/Design/DesignSystem.swift @@ -11,7 +11,8 @@ extension Color { /// Shared App Group defaults for reading the active theme. /// Thread-safe: UserDefaults is safe to read from any thread/actor. private static let _themeDefaults: UserDefaults = { - UserDefaults(suiteName: "group.com.tt.honeyDue.HoneyDueDev") ?? .standard + let groupID = Bundle.main.infoDictionary?["AppGroupIdentifier"] as? String + return groupID.flatMap { UserDefaults(suiteName: $0) } ?? .standard }() private static func themed(_ name: String) -> Color { diff --git a/iosApp/iosApp/Helpers/ThemeManager.swift b/iosApp/iosApp/Helpers/ThemeManager.swift index 96c8959..3e32a3f 100644 --- a/iosApp/iosApp/Helpers/ThemeManager.swift +++ b/iosApp/iosApp/Helpers/ThemeManager.swift @@ -60,7 +60,9 @@ enum ThemeID: String, CaseIterable, Codable { } // MARK: - Shared App Group UserDefaults -private let appGroupID = "group.com.tt.honeyDue.HoneyDueDev" +private let appGroupID: String = { + Bundle.main.infoDictionary?["AppGroupIdentifier"] as? String ?? "group.com.tt.honeyDue.dev" +}() private let sharedDefaults: UserDefaults = { guard let defaults = UserDefaults(suiteName: appGroupID) else { #if DEBUG diff --git a/iosApp/iosApp/Helpers/WidgetDataManager.swift b/iosApp/iosApp/Helpers/WidgetDataManager.swift index b238b32..29e2895 100644 --- a/iosApp/iosApp/Helpers/WidgetDataManager.swift +++ b/iosApp/iosApp/Helpers/WidgetDataManager.swift @@ -20,7 +20,9 @@ final class WidgetDataManager { static let completedColumn = "completed_tasks" static let cancelledColumn = "cancelled_tasks" - private let appGroupIdentifier = "group.com.tt.honeyDue.HoneyDueDev" + private let appGroupIdentifier: String = { + Bundle.main.infoDictionary?["AppGroupIdentifier"] as? String ?? "group.com.tt.honeyDue.dev" + }() private let tasksFileName = "widget_tasks.json" private let actionsFileName = "widget_pending_actions.json" private let pendingTasksFileName = "widget_pending_tasks.json" diff --git a/iosApp/iosApp/Info.plist b/iosApp/iosApp/Info.plist index 9f89ab3..1a49718 100644 --- a/iosApp/iosApp/Info.plist +++ b/iosApp/iosApp/Info.plist @@ -2,6 +2,8 @@ + AppGroupIdentifier + $(APP_GROUP_IDENTIFIER) BGTaskSchedulerPermittedIdentifiers com.tt.honeyDue.refresh diff --git a/iosApp/iosApp/Localizable.xcstrings b/iosApp/iosApp/Localizable.xcstrings index 81c003a..d4de574 100644 --- a/iosApp/iosApp/Localizable.xcstrings +++ b/iosApp/iosApp/Localizable.xcstrings @@ -4257,13 +4257,6 @@ "Caption" : { "comment" : "A label displayed above the caption of an image in the photo viewer.", "isCommentAutoGenerated" : true - }, - "honeyDue" : { - "comment" : "The name of the app.", - "isCommentAutoGenerated" : true - }, - "HONEYDUE PRO" : { - }, "Change" : { "comment" : "A button that allows the user to change the time in a notification.", @@ -17416,6 +17409,13 @@ }, "Here are tasks recommended for your area.\nPick the ones you'd like to track!" : { + }, + "honeyDue" : { + "comment" : "The name of the app.", + "isCommentAutoGenerated" : true + }, + "HONEYDUE PRO" : { + }, "Hour" : { "comment" : "A picker for selecting an hour.", @@ -17461,14 +17461,14 @@ "comment" : "A button label that instructs the user to join an existing residence.", "isCommentAutoGenerated" : true }, - "Join honeyDue" : { - "comment" : "A title for the registration screen.", - "isCommentAutoGenerated" : true - }, "Join Failed" : { "comment" : "An alert title displayed when joining a residence fails.", "isCommentAutoGenerated" : true }, + "Join honeyDue" : { + "comment" : "A title for the registration screen.", + "isCommentAutoGenerated" : true + }, "Join Residence" : { "comment" : "A button label that allows a user to join an existing residence.", "isCommentAutoGenerated" : true @@ -17499,11 +17499,11 @@ "Logging in..." : { }, - "Manage at honeydue.app" : { + "Manage at honeyDue.treytartt.com" : { }, - "Manage your subscription at honeydue.app" : { - "comment" : "A text instruction that directs them to manage their subscription on honeydue.app.", + "Manage your subscription at honeyDue.treytartt.com" : { + "comment" : "A description of how to manage a subscription on a third-party platform.", "isCommentAutoGenerated" : true }, "Manage your subscription on your Android device" : { @@ -17513,10 +17513,6 @@ "comment" : "A button label that says \"Mark Task In Progress\".", "isCommentAutoGenerated" : true }, - "HoneyDue Icon Animations" : { - "comment" : "The title of the playground interface.", - "isCommentAutoGenerated" : true - }, "Need inspiration?" : { }, @@ -17568,8 +17564,8 @@ "comment" : "A button that dismisses the success dialog.", "isCommentAutoGenerated" : true }, - "Open honeydue.app" : { - "comment" : "A button label that opens the honeydue.app settings page.", + "Open honeyDue.treytartt.com" : { + "comment" : "A button label that opens the user's subscription management page in a web browser.", "isCommentAutoGenerated" : true }, "or" : { @@ -21659,10 +21655,6 @@ }, "Remove User" : { - }, - "Replay" : { - "comment" : "A button that replays the current animation.", - "isCommentAutoGenerated" : true }, "Reset All Tasks" : { "comment" : "A button label that resets all tasks.", diff --git a/iosApp/iosApp/iosApp.entitlements b/iosApp/iosApp/iosApp.entitlements index ba67575..03ca013 100644 --- a/iosApp/iosApp/iosApp.entitlements +++ b/iosApp/iosApp/iosApp.entitlements @@ -10,7 +10,7 @@ com.apple.security.application-groups - group.com.tt.honeyDue.HoneyDueDev + $(APP_GROUP_IDENTIFIER)