Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
This commit is contained in:
parent
c081d3c86a
commit
e0d7fa750f
@ -449,7 +449,7 @@
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
DEVELOPMENT_TEAM = 6R7KLBPBLZ;
|
||||
DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||
@ -561,8 +561,8 @@
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.1;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.mbrucedogs.Andromida;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "$(APP_BUNDLE_IDENTIFIER)";
|
||||
PRODUCT_NAME = "$(PRODUCT_NAME)";
|
||||
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||
SWIFT_APPROACHABLE_CONCURRENCY = YES;
|
||||
SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor;
|
||||
@ -597,8 +597,8 @@
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.1;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.mbrucedogs.Andromida;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "$(APP_BUNDLE_IDENTIFIER)";
|
||||
PRODUCT_NAME = "$(PRODUCT_NAME)";
|
||||
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||
SWIFT_APPROACHABLE_CONCURRENCY = YES;
|
||||
SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor;
|
||||
@ -621,7 +621,7 @@
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 26.2;
|
||||
MARKETING_VERSION = 1.1;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.mbrucedogs.AndromidaTests;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "$(TESTS_BUNDLE_IDENTIFIER)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
STRING_CATALOG_GENERATE_SYMBOLS = NO;
|
||||
SWIFT_APPROACHABLE_CONCURRENCY = YES;
|
||||
@ -645,7 +645,7 @@
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 26.2;
|
||||
MARKETING_VERSION = 1.1;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.mbrucedogs.AndromidaTests;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "$(TESTS_BUNDLE_IDENTIFIER)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
STRING_CATALOG_GENERATE_SYMBOLS = NO;
|
||||
SWIFT_APPROACHABLE_CONCURRENCY = YES;
|
||||
@ -667,7 +667,7 @@
|
||||
DEVELOPMENT_TEAM = 6R7KLBPBLZ;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
MARKETING_VERSION = 1.1;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.mbrucedogs.AndromidaUITests;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "$(UITESTS_BUNDLE_IDENTIFIER)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
STRING_CATALOG_GENERATE_SYMBOLS = NO;
|
||||
SWIFT_APPROACHABLE_CONCURRENCY = YES;
|
||||
@ -689,7 +689,7 @@
|
||||
DEVELOPMENT_TEAM = 6R7KLBPBLZ;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
MARKETING_VERSION = 1.1;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.mbrucedogs.AndromidaUITests;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "$(UITESTS_BUNDLE_IDENTIFIER)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
STRING_CATALOG_GENERATE_SYMBOLS = NO;
|
||||
SWIFT_APPROACHABLE_CONCURRENCY = YES;
|
||||
@ -722,7 +722,7 @@
|
||||
"@executable_path/../../Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.1;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.mbrucedogs.Andromida.AndromidaWidget;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "$(WIDGET_BUNDLE_IDENTIFIER)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||
@ -755,7 +755,7 @@
|
||||
"@executable_path/../../Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.1;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.mbrucedogs.Andromida.AndromidaWidget;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "$(WIDGET_BUNDLE_IDENTIFIER)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "EAC04A972F26BAE8007F87EA"
|
||||
BuildableName = "Andromida.app"
|
||||
BuildableName = "Rituals.app"
|
||||
BlueprintName = "Andromida"
|
||||
ReferencedContainer = "container:Andromida.xcodeproj">
|
||||
</BuildableReference>
|
||||
@ -45,7 +45,7 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "EAC04A972F26BAE8007F87EA"
|
||||
BuildableName = "Andromida.app"
|
||||
BuildableName = "Rituals.app"
|
||||
BlueprintName = "Andromida"
|
||||
ReferencedContainer = "container:Andromida.xcodeproj">
|
||||
</BuildableReference>
|
||||
@ -62,7 +62,7 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "EAC04A972F26BAE8007F87EA"
|
||||
BuildableName = "Andromida.app"
|
||||
BuildableName = "Rituals.app"
|
||||
BlueprintName = "Andromida"
|
||||
ReferencedContainer = "container:Andromida.xcodeproj">
|
||||
</BuildableReference>
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "EAC04A972F26BAE8007F87EA"
|
||||
BuildableName = "Andromida.app"
|
||||
BuildableName = "Rituals.app"
|
||||
BlueprintName = "Andromida"
|
||||
ReferencedContainer = "container:Andromida.xcodeproj">
|
||||
</BuildableReference>
|
||||
@ -72,7 +72,7 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "EAC04A972F26BAE8007F87EA"
|
||||
BuildableName = "Andromida.app"
|
||||
BuildableName = "Rituals.app"
|
||||
BlueprintName = "Andromida"
|
||||
ReferencedContainer = "container:Andromida.xcodeproj">
|
||||
</BuildableReference>
|
||||
@ -108,7 +108,7 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "EAC04A972F26BAE8007F87EA"
|
||||
BuildableName = "Andromida.app"
|
||||
BuildableName = "Rituals.app"
|
||||
BlueprintName = "Andromida"
|
||||
ReferencedContainer = "container:Andromida.xcodeproj">
|
||||
</BuildableReference>
|
||||
|
||||
@ -9,6 +9,11 @@
|
||||
<key>orderHint</key>
|
||||
<integer>1</integer>
|
||||
</dict>
|
||||
<key>AndromidaTests.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>3</integer>
|
||||
</dict>
|
||||
<key>AndromidaWidgetExtension.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
|
||||
@ -12,6 +12,7 @@ struct AndromidaApp: App {
|
||||
|
||||
/// Track if user just completed the wizard (to start on Rituals tab)
|
||||
@State private var justCompletedWizard = false
|
||||
@State private var isTransitioningToRoot = false
|
||||
|
||||
init() {
|
||||
// Register app's color theme for Bedrock components
|
||||
@ -55,14 +56,13 @@ struct AndromidaApp: App {
|
||||
|
||||
if hasCompletedSetupWizard {
|
||||
// Main app - start on Rituals tab if just completed wizard
|
||||
AppLaunchView(config: .rituals) {
|
||||
RootView(
|
||||
store: store,
|
||||
settingsStore: settingsStore,
|
||||
categoryStore: categoryStore,
|
||||
initialTab: justCompletedWizard ? .rituals : .today
|
||||
)
|
||||
}
|
||||
.transition(.opacity)
|
||||
} else {
|
||||
// First-run setup wizard
|
||||
AppLaunchView(config: .rituals) {
|
||||
@ -72,7 +72,7 @@ struct AndromidaApp: App {
|
||||
reminderScheduler: store.reminderScheduler,
|
||||
onComplete: {
|
||||
justCompletedWizard = true
|
||||
withAnimation {
|
||||
withAnimation(.easeInOut(duration: 0.5)) {
|
||||
hasCompletedSetupWizard = true
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,7 +9,7 @@ struct RootView: View {
|
||||
@State private var selectedTab: RootTab
|
||||
@State private var analyticsPrewarmTask: Task<Void, Never>?
|
||||
@State private var isForegroundRefreshing = false
|
||||
@State private var isResumingFromBackground = true
|
||||
@State private var isResumingFromBackground = false
|
||||
private let foregroundRefreshMinimumSeconds: TimeInterval = 0.15
|
||||
private let debugForegroundRefreshMinimumSeconds: TimeInterval = 0.8
|
||||
private let debugForegroundRefreshKey = "debugForegroundRefreshNextForeground"
|
||||
|
||||
@ -17,7 +17,14 @@ enum AppIdentifiers {
|
||||
Bundle.main.bundleIdentifier ?? "com.mbrucedogs.Andromida"
|
||||
}
|
||||
|
||||
// User-facing app name
|
||||
static let appName: String = {
|
||||
Bundle.main.object(forInfoDictionaryKey: "CFBundleDisplayName") as? String
|
||||
?? Bundle.main.object(forInfoDictionaryKey: "CFBundleName") as? String
|
||||
?? "Rituals"
|
||||
}()
|
||||
|
||||
static var widgetBundleIdentifier: String {
|
||||
"\(bundleIdentifier).Widget"
|
||||
"\(bundleIdentifier).AndromidaWidget"
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,20 +6,21 @@
|
||||
// =============================================================================
|
||||
|
||||
COMPANY_IDENTIFIER = com.mbrucedogs
|
||||
APP_NAME = Andromida
|
||||
DEVELOPMENT_TEAM = // Add your Team ID here if needed
|
||||
BUNDLE_ID_NAME = Andromida
|
||||
PRODUCT_NAME = Rituals
|
||||
DEVELOPMENT_TEAM = 6R7KLBPBLZ
|
||||
|
||||
// =============================================================================
|
||||
// DERIVED IDENTIFIERS - DO NOT EDIT
|
||||
// =============================================================================
|
||||
|
||||
APP_BUNDLE_IDENTIFIER = $(COMPANY_IDENTIFIER).$(APP_NAME)
|
||||
APP_BUNDLE_IDENTIFIER = $(COMPANY_IDENTIFIER).$(BUNDLE_ID_NAME)
|
||||
WATCH_BUNDLE_IDENTIFIER = $(APP_BUNDLE_IDENTIFIER).watchkitapp
|
||||
APPCLIP_BUNDLE_IDENTIFIER = $(APP_BUNDLE_IDENTIFIER).Clip
|
||||
WIDGET_BUNDLE_IDENTIFIER = $(APP_BUNDLE_IDENTIFIER).Widget
|
||||
WIDGET_BUNDLE_IDENTIFIER = $(APP_BUNDLE_IDENTIFIER).AndromidaWidget
|
||||
INTENT_BUNDLE_IDENTIFIER = $(APP_BUNDLE_IDENTIFIER).Intent
|
||||
TESTS_BUNDLE_IDENTIFIER = $(COMPANY_IDENTIFIER).$(APP_NAME)Tests
|
||||
UITESTS_BUNDLE_IDENTIFIER = $(COMPANY_IDENTIFIER).$(APP_NAME)UITests
|
||||
TESTS_BUNDLE_IDENTIFIER = $(COMPANY_IDENTIFIER).$(BUNDLE_ID_NAME)Tests
|
||||
UITESTS_BUNDLE_IDENTIFIER = $(COMPANY_IDENTIFIER).$(BUNDLE_ID_NAME)UITests
|
||||
|
||||
APP_GROUP_IDENTIFIER = group.$(COMPANY_IDENTIFIER).$(APP_NAME)
|
||||
CLOUDKIT_CONTAINER_IDENTIFIER = iCloud.$(COMPANY_IDENTIFIER).$(APP_NAME)
|
||||
APP_GROUP_IDENTIFIER = group.$(COMPANY_IDENTIFIER).$(BUNDLE_ID_NAME)
|
||||
CLOUDKIT_CONTAINER_IDENTIFIER = iCloud.$(COMPANY_IDENTIFIER).$(BUNDLE_ID_NAME)
|
||||
|
||||
@ -7,9 +7,9 @@
|
||||
<key>NSExtensionPointIdentifier</key>
|
||||
<string>com.apple.widgetkit-extension</string>
|
||||
</dict>
|
||||
<key>AppGroupIdentifier</key>
|
||||
<string>$(APP_GROUP_IDENTIFIER)</string>
|
||||
<key>CloudKitContainerIdentifier</key>
|
||||
<string>$(CLOUDKIT_CONTAINER_IDENTIFIER)</string>
|
||||
<key>AppGroupIdentifier</key>
|
||||
<string>$(APP_GROUP_IDENTIFIER)</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user