From 81813530c8770c85a85f31ee9e7af505fa779401 Mon Sep 17 00:00:00 2001 From: kutesir Date: Mon, 15 Jun 2026 18:31:51 +0300 Subject: [PATCH] Rebrand app to "Wenza" (display name + user-facing copy) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Renames the user-facing app to Wenza without changing identity: - CFBundleDisplayName → "Wenza" (app) and "Wenza Widgets" (widget extension). - Calendar/Health permission prompts now reference Wenza. - In-app copy updated: sidebar title, Auth + Onboarding screens, Settings about/help rows, feedback email subject, tutorial text, widget description. Bundle identifier, App Group, UserDefaults storage keys, team ID, and the internal Xcode target/project names are intentionally unchanged, so this stays the same App Store app with no user data loss. App Store listing name must be changed separately in App Store Connect. Co-Authored-By: Claude Opus 4.8 --- KisaniCal.xcodeproj/project.pbxproj | 36 +++++++++--------------- KisaniCal/ContentView.swift | 2 +- KisaniCal/Managers/TutorialManager.swift | 4 +-- KisaniCal/Views/AuthView.swift | 2 +- KisaniCal/Views/OnboardingView.swift | 2 +- KisaniCal/Views/SettingsView.swift | 10 +++---- KisaniCalWidgets/Info.plist | 2 +- KisaniCalWidgets/KisaniCalWidgets.swift | 2 +- project.yml | 12 ++++---- 9 files changed, 32 insertions(+), 40 deletions(-) diff --git a/KisaniCal.xcodeproj/project.pbxproj b/KisaniCal.xcodeproj/project.pbxproj index 89a77ee..a65c20d 100644 --- a/KisaniCal.xcodeproj/project.pbxproj +++ b/KisaniCal.xcodeproj/project.pbxproj @@ -405,26 +405,24 @@ CODE_SIGN_ENTITLEMENTS = KisaniCal/KisaniCal.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 6; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_CFBundleDisplayName = "Kisani Cal"; - INFOPLIST_KEY_NSCalendarsFullAccessUsageDescription = "Kisani Cal shows your calendar events alongside tasks."; - INFOPLIST_KEY_NSCalendarsUsageDescription = "Kisani Cal shows your calendar events alongside tasks."; - INFOPLIST_KEY_NSHealthShareUsageDescription = "Kisani Cal reads your steps, energy, heart rate, and workouts to show health stats on your dashboard."; - INFOPLIST_KEY_NSHealthUpdateUsageDescription = "Kisani Cal saves workouts you complete to the Health app."; + INFOPLIST_KEY_CFBundleDisplayName = Wenza; + INFOPLIST_KEY_NSCalendarsFullAccessUsageDescription = "Wenza shows your calendar events alongside tasks."; + INFOPLIST_KEY_NSCalendarsUsageDescription = "Wenza shows your calendar events alongside tasks."; + INFOPLIST_KEY_NSHealthShareUsageDescription = "Wenza reads your steps, energy, heart rate, and workouts to show health stats on your dashboard."; + INFOPLIST_KEY_NSHealthUpdateUsageDescription = "Wenza saves workouts you complete to the Health app."; INFOPLIST_KEY_NSSupportsLiveActivities = YES; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; INFOPLIST_KEY_UIStatusBarStyle = UIStatusBarStyleDefault; - INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 2; PRODUCT_BUNDLE_IDENTIFIER = com.kutesir.KisaniCal; SDKROOT = iphoneos; SWIFT_VERSION = 5.9; @@ -499,7 +497,6 @@ APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_ENTITLEMENTS = KisaniCalWidgets/KisaniCalWidgets.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 6; GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = KisaniCalWidgets/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 18.0; @@ -508,7 +505,6 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 2; PRODUCT_BUNDLE_IDENTIFIER = com.kutesir.KisaniCal.KisaniCalWidgets; SDKROOT = iphoneos; SWIFT_VERSION = 5.9; @@ -590,7 +586,6 @@ APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_ENTITLEMENTS = KisaniCalWidgets/KisaniCalWidgets.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 6; GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = KisaniCalWidgets/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 18.0; @@ -599,7 +594,6 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 2; PRODUCT_BUNDLE_IDENTIFIER = com.kutesir.KisaniCal.KisaniCalWidgets; SDKROOT = iphoneos; SWIFT_VERSION = 5.9; @@ -615,26 +609,24 @@ CODE_SIGN_ENTITLEMENTS = KisaniCal/KisaniCal.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 6; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_CFBundleDisplayName = "Kisani Cal"; - INFOPLIST_KEY_NSCalendarsFullAccessUsageDescription = "Kisani Cal shows your calendar events alongside tasks."; - INFOPLIST_KEY_NSCalendarsUsageDescription = "Kisani Cal shows your calendar events alongside tasks."; - INFOPLIST_KEY_NSHealthShareUsageDescription = "Kisani Cal reads your steps, energy, heart rate, and workouts to show health stats on your dashboard."; - INFOPLIST_KEY_NSHealthUpdateUsageDescription = "Kisani Cal saves workouts you complete to the Health app."; + INFOPLIST_KEY_CFBundleDisplayName = Wenza; + INFOPLIST_KEY_NSCalendarsFullAccessUsageDescription = "Wenza shows your calendar events alongside tasks."; + INFOPLIST_KEY_NSCalendarsUsageDescription = "Wenza shows your calendar events alongside tasks."; + INFOPLIST_KEY_NSHealthShareUsageDescription = "Wenza reads your steps, energy, heart rate, and workouts to show health stats on your dashboard."; + INFOPLIST_KEY_NSHealthUpdateUsageDescription = "Wenza saves workouts you complete to the Health app."; INFOPLIST_KEY_NSSupportsLiveActivities = YES; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; INFOPLIST_KEY_UIStatusBarStyle = UIStatusBarStyleDefault; - INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 2; PRODUCT_BUNDLE_IDENTIFIER = com.kutesir.KisaniCal; SDKROOT = iphoneos; SWIFT_VERSION = 5.9; diff --git a/KisaniCal/ContentView.swift b/KisaniCal/ContentView.swift index 0c4dfdf..fac3fe7 100644 --- a/KisaniCal/ContentView.swift +++ b/KisaniCal/ContentView.swift @@ -230,7 +230,7 @@ struct ContentView: View { if showWorkoutTab { Label("Workout", systemImage: "dumbbell").tag(3) } Label("Settings", systemImage: "gearshape").tag(4) } - .navigationTitle("Kisani Cal") + .navigationTitle("Wenza") .listStyle(.sidebar) } detail: { switch iPadSelection ?? 0 { diff --git a/KisaniCal/Managers/TutorialManager.swift b/KisaniCal/Managers/TutorialManager.swift index b0c6bd7..27eec35 100644 --- a/KisaniCal/Managers/TutorialManager.swift +++ b/KisaniCal/Managers/TutorialManager.swift @@ -23,7 +23,7 @@ final class TutorialManager: ObservableObject { let steps: [TutorialStep] = [ .init(title: "Add Tasks with NLP", - body: "Type naturally — \"dentist tomorrow 3pm\" or \"mum's birthday on 8th June every year\" — Kisani parses the date, time, and recurrence for you.", + body: "Type naturally — \"dentist tomorrow 3pm\" or \"mum's birthday on 8th June every year\" — Wenza parses the date, time, and recurrence for you.", icon: "sparkles", anchorIndex: 0), .init(title: "Calendar", @@ -62,7 +62,7 @@ final class TutorialManager: ObservableObject { body: "Everything due today lives here — overdue items appear at the top so nothing slips through. Tap any task to open it.", icon: "checkmark.circle"), .init(title: "Add Tasks Instantly", - body: "Tap + and type naturally. \"Doctor Wednesday 2pm\" or \"Neo's birthday 15 June yearly\" — Kisani handles dates, times, and recurrence.", + body: "Tap + and type naturally. \"Doctor Wednesday 2pm\" or \"Neo's birthday 15 June yearly\" — Wenza handles dates, times, and recurrence.", icon: "sparkles"), .init(title: "Quick Actions", body: "Long-press a task to pin, postpone, or move it to a matrix quadrant. Swipe left to delete.", diff --git a/KisaniCal/Views/AuthView.swift b/KisaniCal/Views/AuthView.swift index 949fd4c..38918bf 100644 --- a/KisaniCal/Views/AuthView.swift +++ b/KisaniCal/Views/AuthView.swift @@ -24,7 +24,7 @@ struct AuthView: View { .foregroundColor(AppColors.accent) } VStack(spacing: 6) { - Text("Kisani Cal") + Text("Wenza") .font(AppFonts.sans(32, weight: .bold)) .foregroundColor(AppColors.text(cs)) Text("Your calendar, your way.") diff --git a/KisaniCal/Views/OnboardingView.swift b/KisaniCal/Views/OnboardingView.swift index f277ef0..ed55a13 100644 --- a/KisaniCal/Views/OnboardingView.swift +++ b/KisaniCal/Views/OnboardingView.swift @@ -68,7 +68,7 @@ struct OnboardingView: View { .foregroundColor(AppColors.accent) } VStack(spacing: 6) { - Text("Welcome to KisaniCal") + Text("Welcome to Wenza") .font(AppFonts.sans(26, weight: .bold)) .foregroundColor(AppColors.text(cs)) Text("Tasks, calendar, and workouts\n— all in one place.") diff --git a/KisaniCal/Views/SettingsView.swift b/KisaniCal/Views/SettingsView.swift index ec6c658..06531db 100644 --- a/KisaniCal/Views/SettingsView.swift +++ b/KisaniCal/Views/SettingsView.swift @@ -456,7 +456,7 @@ private struct WidgetsSheet: View { } .padding(12).cardStyle() } - Text("Long-press your home screen → tap + → search Kisani Cal to add widgets.") + Text("Long-press your home screen → tap + → search Wenza to add widgets.") .font(AppFonts.sans(11)).foregroundColor(AppColors.text3(cs)) .multilineTextAlignment(.center).padding(.top, 4) } @@ -527,7 +527,7 @@ private struct ImportSheet: View { .padding(.horizontal, 14).padding(.vertical, 12) } .cardStyle().padding(.horizontal, 20) - Text("Enabling integrations will sync events to your Kisani calendar.") + Text("Enabling integrations will sync events to your Wenza calendar.") .font(AppFonts.sans(11)).foregroundColor(AppColors.text3(cs)) .multilineTextAlignment(.center).padding(.horizontal, 20).padding(.top, 12) Spacer() @@ -957,10 +957,10 @@ private struct HelpSheet: View { SheetHeader(title: "Help & Feedback") { dismiss() } VStack(spacing: 10) { HelpRow(icon: "envelope", label: "Send Feedback", sub: "Report a bug or suggest a feature") { - if let url = URL(string: "mailto:feedback@kisanicaI.app?subject=Kisani%20Cal%20Feedback") { openURL(url) } + if let url = URL(string: "mailto:feedback@kisanicaI.app?subject=Wenza%20Feedback") { openURL(url) } } HelpRow(icon: "questionmark.circle", label: "FAQ", sub: "Frequently asked questions") {} - HelpRow(icon: "book", label: "User Guide", sub: "Learn how to use Kisani Cal") {} + HelpRow(icon: "book", label: "User Guide", sub: "Learn how to use Wenza") {} } .padding(.horizontal, 20) Spacer() @@ -1343,7 +1343,7 @@ private struct AboutSheet: View { Image(systemName: "calendar.badge.clock") .font(.system(size: 48, weight: .light)).foregroundColor(AppColors.accent) VStack(spacing: 4) { - Text("Kisani Cal").font(AppFonts.sans(20, weight: .bold)).foregroundColor(AppColors.text(cs)) + Text("Wenza").font(AppFonts.sans(20, weight: .bold)).foregroundColor(AppColors.text(cs)) Text("Version 1.0.0").font(AppFonts.mono(11)).foregroundColor(AppColors.text3(cs)) } Text("A calm, focused productivity app for tasks, calendar, and fitness.") diff --git a/KisaniCalWidgets/Info.plist b/KisaniCalWidgets/Info.plist index 39f6d1b..844765f 100644 --- a/KisaniCalWidgets/Info.plist +++ b/KisaniCalWidgets/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName - Kisani Cal Widgets + Wenza Widgets CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier diff --git a/KisaniCalWidgets/KisaniCalWidgets.swift b/KisaniCalWidgets/KisaniCalWidgets.swift index 4ce8d95..3481472 100644 --- a/KisaniCalWidgets/KisaniCalWidgets.swift +++ b/KisaniCalWidgets/KisaniCalWidgets.swift @@ -53,7 +53,7 @@ enum ProgressDotMode: String, AppEnum { struct ProgressDotConfigIntent: WidgetConfigurationIntent { static var title: LocalizedStringResource = "Progress Dots" - static var description = IntentDescription("Track day, week, month, or a KisaniCal event.") + static var description = IntentDescription("Track day, week, month, or a Wenza event.") @Parameter(title: "Mode", default: .month) var mode: ProgressDotMode diff --git a/project.yml b/project.yml index 6529e04..62e769c 100644 --- a/project.yml +++ b/project.yml @@ -45,7 +45,7 @@ targets: GENERATE_INFOPLIST_FILE: YES INFOPLIST_KEY_UIApplicationSceneManifest_Generation: YES INFOPLIST_KEY_UILaunchStoryboardName: LaunchScreen - INFOPLIST_KEY_CFBundleDisplayName: "Kisani Cal" + INFOPLIST_KEY_CFBundleDisplayName: "Wenza" INFOPLIST_KEY_UIStatusBarStyle: UIStatusBarStyleDefault INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad: "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight" INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone: "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight" @@ -55,10 +55,10 @@ targets: CODE_SIGN_STYLE: Automatic CODE_SIGN_ENTITLEMENTS: KisaniCal/KisaniCal.entitlements ENABLE_PREVIEWS: YES - INFOPLIST_KEY_NSCalendarsUsageDescription: "Kisani Cal shows your calendar events alongside tasks." - INFOPLIST_KEY_NSCalendarsFullAccessUsageDescription: "Kisani Cal shows your calendar events alongside tasks." - INFOPLIST_KEY_NSHealthShareUsageDescription: "Kisani Cal reads your steps, energy, heart rate, and workouts to show health stats on your dashboard." - INFOPLIST_KEY_NSHealthUpdateUsageDescription: "Kisani Cal saves workouts you complete to the Health app." + INFOPLIST_KEY_NSCalendarsUsageDescription: "Wenza shows your calendar events alongside tasks." + INFOPLIST_KEY_NSCalendarsFullAccessUsageDescription: "Wenza shows your calendar events alongside tasks." + INFOPLIST_KEY_NSHealthShareUsageDescription: "Wenza reads your steps, energy, heart rate, and workouts to show health stats on your dashboard." + INFOPLIST_KEY_NSHealthUpdateUsageDescription: "Wenza saves workouts you complete to the Health app." KisaniCalWidgets: type: app-extension @@ -71,7 +71,7 @@ targets: info: path: KisaniCalWidgets/Info.plist properties: - CFBundleDisplayName: "Kisani Cal Widgets" + CFBundleDisplayName: "Wenza Widgets" CFBundleShortVersionString: "$(MARKETING_VERSION)" CFBundleVersion: "$(CURRENT_PROJECT_VERSION)" NSExtension: