Calm 2.0 Fase 4: TipKit para descubrimiento + aha post-onboarding (build 55)
TipKit (Tips.configure con frecuencia diaria): - QuickUpdateTip: popover en el '+' del Home — descubre Quick Update - ScreenshotOCRTip: inline en Quick Update — descubre el OCR por captura - SiriTip: en el cierre del check-in guiado — descubre el intent de voz - ChartShareTip: popover en el compartir de Charts - Se invalidan al ejecutar la acción; máx 1-2 impresiones cada uno - Strings ×7 idiomas Onboarding: - Al completar el onboarding sin datos, se abre Add Source directamente (notificación .openAddFirstSource) — el usuario nuevo no aterriza en un dashboard vacío Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WoScpmHdVj1aUf4rAp6hbe
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import SwiftUI
|
||||
import CoreData
|
||||
import TipKit
|
||||
|
||||
/// Support for automated App Store screenshot capture. Activated by launching the app
|
||||
/// with the `--screenshots` argument (used by the UI-test capture flow). Only mutates
|
||||
@@ -73,6 +74,9 @@ struct PortfolioJournalApp: App {
|
||||
// Clean up any duplicate objects from previous bugs before initializing stores
|
||||
CoreDataStack.shared.cleanupDuplicateObjects()
|
||||
|
||||
// Feature-discovery tips (Quick Update, OCR, Siri, chart sharing)
|
||||
try? Tips.configure([.displayFrequency(.daily)])
|
||||
|
||||
let iap = IAPService()
|
||||
_iapService = StateObject(wrappedValue: iap)
|
||||
_adMobService = StateObject(wrappedValue: AdMobService())
|
||||
|
||||
Reference in New Issue
Block a user