1.1: Home-Screen-Widget + Siri-Kurzbefehl „Gassi gehen"
App Group group.app.banyaro.ios verbindet App und Widget-Extension (Entitlements in beiden Targets, CODE_SIGN_ENTITLEMENTS fürs Widget). Home-Screen-Widget (D): - BanYaroHomeWidget (klein + mittel): Tagesfoto, Hundename, nächster Termin. - App schreibt beim Heim-Laden einen Snapshot (HomeWidgetData) in die App Group und triggert WidgetCenter-Reload; Snapshot wird bei Logout/401 geleert. Siri-/Kurzbefehl (E): - StartWalkIntent „Gassi gehen" + AppShortcutsProvider (öffnet die App). - WalkLauncher überbrückt Intent → UI: Flag in der App Group, beim Aktivwerden eingelöst → Aufnehmen-Tab + Aufnahme-Start (TrackingView.startFresh). - MainTabView mit Tab-Auswahl (Tags), BanYaroGoApp liest scenePhase.
This commit is contained in:
parent
a2646a18ef
commit
d807db57a2
14 changed files with 307 additions and 6 deletions
|
|
@ -3,6 +3,7 @@ import SwiftData
|
|||
|
||||
@main
|
||||
struct BanYaroGoApp: App {
|
||||
@Environment(\.scenePhase) private var scenePhase
|
||||
@State private var auth = AuthSession()
|
||||
@State private var activeDog = ActiveDogStore()
|
||||
@State private var pendingGPX: GPXTrack?
|
||||
|
|
@ -12,6 +13,9 @@ struct BanYaroGoApp: App {
|
|||
RootView()
|
||||
.environment(auth)
|
||||
.environment(activeDog)
|
||||
.onChange(of: scenePhase) { _, phase in
|
||||
if phase == .active { WalkLauncher.shared.consumePendingFlag() }
|
||||
}
|
||||
.onOpenURL { url in
|
||||
handleIncoming(url: url)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue