diff --git a/Config/CamperMonitor-Info.plist b/Config/VanControl-Info.plist similarity index 100% rename from Config/CamperMonitor-Info.plist rename to Config/VanControl-Info.plist diff --git a/Config/CamperMonitorComplication-Info.plist b/Config/VanControlComplication-Info.plist similarity index 100% rename from Config/CamperMonitorComplication-Info.plist rename to Config/VanControlComplication-Info.plist diff --git a/README.md b/README.md index cab0050..7ee4769 100644 --- a/README.md +++ b/README.md @@ -24,18 +24,18 @@ Die Firmware des Neigungsmessers liegt mit im Projekt, siehe ## Bauen und installieren ```bash -open /Users/fritob/GIT/Camper-Management/CamperMonitor.xcodeproj +open /Users/fritob/GIT/Camper-Management/VanControl.xcodeproj ``` Dann in Xcode: -1. Target `CamperMonitor` → **Signing & Capabilities** → dein Apple-Team auswählen. - Die Bundle-ID `de.fritob.CamperMonitor` ggf. anpassen, falls sie schon vergeben ist. - Dasselbe beim Target `CamperMonitorWatch`; dessen Bundle-ID muss die des +1. Target `VanControl` → **Signing & Capabilities** → dein Apple-Team auswählen. + Die Bundle-ID `de.fritob.VanControl` ggf. anpassen, falls sie schon vergeben ist. + Dasselbe beim Target `VanControlWatch`; dessen Bundle-ID muss die des iPhones mit angehängtem `.watchkitapp` bleiben. 2. iPhone per Kabel anschließen, oben als Ziel wählen, ⌘R. -Das Schema `CamperMonitor` baut die Watch-App mit und bettet sie ein. Dafür +Das Schema `VanControl` baut die Watch-App mit und bettet sie ein. Dafür muss die watchOS-Plattform in Xcode installiert sein – sonst bricht schon das Übersetzen des Symbolkatalogs ab: @@ -376,7 +376,7 @@ Run → Arguments* die Umgebungsvariable `CAMPER_DEMO` auf `1` setzen. Er greift nur in Debug-Builds. Die Watch-App kennt denselben Schalter und braucht dann kein iPhone: Im Schema -`CamperMonitorWatch` dieselbe Variable setzen. Die Neigung wandert dort +`VanControlWatch` dieselbe Variable setzen. Die Neigung wandert dort langsam hin und her, sonst hätte der Ausrichtungs-Assistent nichts zu zeigen. ## Protokolle prüfen @@ -413,7 +413,7 @@ Shared/ In iPhone- und Watch-App übersetzt └── WatchLink/ └── WatchLink.swift Datensatz und Befehle zwischen iPhone und Uhr -CamperMonitor/ +VanControl/ ├── Bluetooth/ │ ├── BluetoothManager.swift Zentraler Scan, Verbindungen, Verlauf │ ├── VictronAdvertisement.swift Advertisement entschlüsseln und auswerten @@ -443,7 +443,7 @@ CamperMonitor/ ├── SensorSetupView.swift Assistent für die Einbaulage └── AddDeviceView.swift Scannen und Einrichten -CamperMonitorWatch/ watchOS-App +VanControlWatch/ watchOS-App ├── CamperWatchApp.swift Einstieg, meldet dem iPhone das Hinschauen ├── PhoneLink.swift Gegenstelle zum iPhone ├── WatchLevelRadio.swift Eigene Bluetooth-Verbindung zum Neigungsmesser @@ -458,7 +458,7 @@ CamperMonitorWatch/ watchOS-App └── WatchFridgeControls.swift Kühlbox stellen Config/ -└── CamperMonitor-Info.plist Nur der Hintergrundbetrieb für die Uhr +└── VanControl-Info.plist Nur der Hintergrundbetrieb für die Uhr ``` ## Bekannte Grenzen diff --git a/Tools/README.md b/Tools/README.md index 6115c0f..7fec113 100644 --- a/Tools/README.md +++ b/Tools/README.md @@ -13,7 +13,7 @@ Anschließend skaliert es auf 1024×1024 ohne Alphakanal. ```bash swiftc -O -o /tmp/make-app-icon Tools/make-app-icon.swift -/tmp/make-app-icon logo.png CamperMonitor/Assets.xcassets/AppIcon.appiconset/AppIcon-1024.png +/tmp/make-app-icon logo.png VanControl/Assets.xcassets/AppIcon.appiconset/AppIcon-1024.png ``` Nur nötig, wenn `logo.png` sich ändert – das erzeugte Icon liegt im Repo. @@ -32,7 +32,7 @@ gefüllte Form, in der die Details erhalten bleiben. ```bash swiftc -O -o /tmp/make-vehicle-art Tools/make-vehicle-art.swift sips --resampleHeight 600 heckansicht.png --out /tmp/rear.png -/tmp/make-vehicle-art /tmp/rear.png CamperMonitor/Assets.xcassets/VansterRear.imageset/VansterRear.png +/tmp/make-vehicle-art /tmp/rear.png VanControl/Assets.xcassets/VansterRear.imageset/VansterRear.png ``` Jedes Fahrzeug-Grafikset (siehe `VehicleGraphicStyle`) hat sein eigenes diff --git a/VanAligneiOSWidget/VanAligneiOSWidgetBundle.swift b/VanAligneiOSWidget/VanAligneiOSWidgetBundle.swift deleted file mode 100644 index 6cba3f1..0000000 --- a/VanAligneiOSWidget/VanAligneiOSWidgetBundle.swift +++ /dev/null @@ -1,18 +0,0 @@ -// -// VanAligneiOSWidgetBundle.swift -// VanAligneiOSWidget -// -// Created by Christopher Helberg on 02.09.26. -// - -import WidgetKit -import SwiftUI - -@main -struct VanAligneiOSWidgetBundle: WidgetBundle { - var body: some Widget { - VanAligneiOSWidget() - VanAligneiOSWidgetControl() - VanAligneiOSWidgetLiveActivity() - } -} diff --git a/CamperMonitor.xcodeproj/project.pbxproj b/VanControl.xcodeproj/project.pbxproj similarity index 77% rename from CamperMonitor.xcodeproj/project.pbxproj rename to VanControl.xcodeproj/project.pbxproj index c78cca9..f600292 100644 --- a/CamperMonitor.xcodeproj/project.pbxproj +++ b/VanControl.xcodeproj/project.pbxproj @@ -7,13 +7,13 @@ objects = { /* Begin PBXBuildFile section */ - AA0000000000000000000027 /* CamperMonitorWatch.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = AA0000000000000000000016 /* CamperMonitorWatch.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - AA0000000000000000000042 /* CamperMonitorComplication.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = AA0000000000000000000032 /* CamperMonitorComplication.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + AA0000000000000000000027 /* VanControlWatch.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = AA0000000000000000000016 /* VanControlWatch.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + AA0000000000000000000042 /* VanControlComplication.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = AA0000000000000000000032 /* VanControlComplication.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; AA0000000000000000000046 /* ActivityKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA0000000000000000000053 /* ActivityKit.framework */; }; AA0000000000000000000047 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA0000000000000000000052 /* SwiftUI.framework */; }; AA0000000000000000000048 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA0000000000000000000051 /* WidgetKit.framework */; }; AA0000000000000000000049 /* ActivityKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA0000000000000000000053 /* ActivityKit.framework */; }; - AA0000000000000000000050 /* VanAligneiOSWidgetExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = AA0000000000000000000054 /* VanAligneiOSWidgetExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + AA0000000000000000000050 /* VanControlWidgetExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = AA0000000000000000000054 /* VanControlWidgetExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -22,21 +22,21 @@ containerPortal = AA0000000000000000000009 /* Project object */; proxyType = 1; remoteGlobalIDString = AA0000000000000000000022; - remoteInfo = CamperMonitorWatch; + remoteInfo = VanControlWatch; }; AA0000000000000000000043 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = AA0000000000000000000009 /* Project object */; proxyType = 1; remoteGlobalIDString = AA0000000000000000000037; - remoteInfo = CamperMonitorComplication; + remoteInfo = VanControlComplication; }; AA0000000000000000000063 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = AA0000000000000000000009 /* Project object */; proxyType = 1; remoteGlobalIDString = AA0000000000000000000062; - remoteInfo = VanAligneiOSWidgetExtension; + remoteInfo = VanControlWidgetExtension; }; /* End PBXContainerItemProxy section */ @@ -47,7 +47,7 @@ dstPath = "$(CONTENTS_FOLDER_PATH)/Watch"; dstSubfolderSpec = 16; files = ( - AA0000000000000000000027 /* CamperMonitorWatch.app in Embed Watch Content */, + AA0000000000000000000027 /* VanControlWatch.app in Embed Watch Content */, ); name = "Embed Watch Content"; runOnlyForDeploymentPostprocessing = 0; @@ -58,7 +58,7 @@ dstPath = ""; dstSubfolderSpec = 13; files = ( - AA0000000000000000000042 /* CamperMonitorComplication.appex in Embed Foundation Extensions */, + AA0000000000000000000042 /* VanControlComplication.appex in Embed Foundation Extensions */, ); name = "Embed Foundation Extensions"; runOnlyForDeploymentPostprocessing = 0; @@ -69,7 +69,7 @@ dstPath = ""; dstSubfolderSpec = 13; files = ( - AA0000000000000000000050 /* VanAligneiOSWidgetExtension.appex in Embed Foundation Extensions */, + AA0000000000000000000050 /* VanControlWidgetExtension.appex in Embed Foundation Extensions */, ); name = "Embed Foundation Extensions"; runOnlyForDeploymentPostprocessing = 0; @@ -77,36 +77,36 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - AA0000000000000000000001 /* CamperMonitor.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CamperMonitor.app; sourceTree = BUILT_PRODUCTS_DIR; }; - AA0000000000000000000016 /* CamperMonitorWatch.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CamperMonitorWatch.app; sourceTree = BUILT_PRODUCTS_DIR; }; - AA0000000000000000000030 /* CamperMonitor-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "CamperMonitor-Info.plist"; sourceTree = ""; }; - AA0000000000000000000032 /* CamperMonitorComplication.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = CamperMonitorComplication.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - AA0000000000000000000045 /* CamperMonitorComplication-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "CamperMonitorComplication-Info.plist"; sourceTree = ""; }; + AA0000000000000000000001 /* VanControl.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = VanControl.app; sourceTree = BUILT_PRODUCTS_DIR; }; + AA0000000000000000000016 /* VanControlWatch.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = VanControlWatch.app; sourceTree = BUILT_PRODUCTS_DIR; }; + AA0000000000000000000030 /* VanControl-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "VanControl-Info.plist"; sourceTree = ""; }; + AA0000000000000000000032 /* VanControlComplication.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = VanControlComplication.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + AA0000000000000000000045 /* VanControlComplication-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "VanControlComplication-Info.plist"; sourceTree = ""; }; AA0000000000000000000051 /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; }; AA0000000000000000000052 /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; }; AA0000000000000000000053 /* ActivityKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ActivityKit.framework; path = System/Library/Frameworks/ActivityKit.framework; sourceTree = SDKROOT; }; - AA0000000000000000000054 /* VanAligneiOSWidgetExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = VanAligneiOSWidgetExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + AA0000000000000000000054 /* VanControlWidgetExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = VanControlWidgetExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ - AA0000000000000000000055 /* Exceptions for "VanAligneiOSWidget" folder in "VanAligneiOSWidgetExtension" target */ = { + AA0000000000000000000055 /* Exceptions for "VanControlWidget" folder in "VanControlWidgetExtension" target */ = { isa = PBXFileSystemSynchronizedBuildFileExceptionSet; membershipExceptions = ( Info.plist, ); - target = AA0000000000000000000062 /* VanAligneiOSWidgetExtension */; + target = AA0000000000000000000062 /* VanControlWidgetExtension */; }; /* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ /* Begin PBXFileSystemSynchronizedRootGroup section */ - AA0000000000000000000002 /* CamperMonitor */ = { + AA0000000000000000000002 /* VanControl */ = { isa = PBXFileSystemSynchronizedRootGroup; - path = CamperMonitor; + path = VanControl; sourceTree = ""; }; - AA0000000000000000000017 /* CamperMonitorWatch */ = { + AA0000000000000000000017 /* VanControlWatch */ = { isa = PBXFileSystemSynchronizedRootGroup; - path = CamperMonitorWatch; + path = VanControlWatch; sourceTree = ""; }; AA0000000000000000000018 /* Shared */ = { @@ -114,17 +114,17 @@ path = Shared; sourceTree = ""; }; - AA0000000000000000000033 /* CamperMonitorComplication */ = { + AA0000000000000000000033 /* VanControlComplication */ = { isa = PBXFileSystemSynchronizedRootGroup; - path = CamperMonitorComplication; + path = VanControlComplication; sourceTree = ""; }; - AA0000000000000000000056 /* VanAligneiOSWidget */ = { + AA0000000000000000000056 /* VanControlWidget */ = { isa = PBXFileSystemSynchronizedRootGroup; exceptions = ( - AA0000000000000000000055 /* Exceptions for "VanAligneiOSWidget" folder in "VanAligneiOSWidgetExtension" target */, + AA0000000000000000000055 /* Exceptions for "VanControlWidget" folder in "VanControlWidgetExtension" target */, ); - path = VanAligneiOSWidget; + path = VanControlWidget; sourceTree = ""; }; AA0000000000000000000057 /* SharedActivity */ = { @@ -173,13 +173,13 @@ AA0000000000000000000004 = { isa = PBXGroup; children = ( - AA0000000000000000000002 /* CamperMonitor */, - AA0000000000000000000017 /* CamperMonitorWatch */, - AA0000000000000000000033 /* CamperMonitorComplication */, + AA0000000000000000000002 /* VanControl */, + AA0000000000000000000017 /* VanControlWatch */, + AA0000000000000000000033 /* VanControlComplication */, AA0000000000000000000018 /* Shared */, AA0000000000000000000057 /* SharedActivity */, AA0000000000000000000031 /* Config */, - AA0000000000000000000056 /* VanAligneiOSWidget */, + AA0000000000000000000056 /* VanControlWidget */, AA0000000000000000000059 /* Frameworks */, AA0000000000000000000005 /* Products */, ); @@ -188,14 +188,23 @@ AA0000000000000000000005 /* Products */ = { isa = PBXGroup; children = ( - AA0000000000000000000001 /* CamperMonitor.app */, - AA0000000000000000000016 /* CamperMonitorWatch.app */, - AA0000000000000000000032 /* CamperMonitorComplication.appex */, - AA0000000000000000000054 /* VanAligneiOSWidgetExtension.appex */, + AA0000000000000000000001 /* VanControl.app */, + AA0000000000000000000016 /* VanControlWatch.app */, + AA0000000000000000000032 /* VanControlComplication.appex */, + AA0000000000000000000054 /* VanControlWidgetExtension.appex */, ); name = Products; sourceTree = ""; }; + AA0000000000000000000031 /* Config */ = { + isa = PBXGroup; + children = ( + AA0000000000000000000030 /* VanControl-Info.plist */, + AA0000000000000000000045 /* VanControlComplication-Info.plist */, + ); + path = Config; + sourceTree = ""; + }; AA0000000000000000000059 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -206,21 +215,12 @@ name = Frameworks; sourceTree = ""; }; - AA0000000000000000000031 /* Config */ = { - isa = PBXGroup; - children = ( - AA0000000000000000000030 /* CamperMonitor-Info.plist */, - AA0000000000000000000045 /* CamperMonitorComplication-Info.plist */, - ); - path = Config; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - AA0000000000000000000006 /* CamperMonitor */ = { + AA0000000000000000000006 /* VanControl */ = { isa = PBXNativeTarget; - buildConfigurationList = AA0000000000000000000011 /* Build configuration list for PBXNativeTarget "CamperMonitor" */; + buildConfigurationList = AA0000000000000000000011 /* Build configuration list for PBXNativeTarget "VanControl" */; buildPhases = ( AA0000000000000000000007 /* Sources */, AA0000000000000000000003 /* Frameworks */, @@ -235,18 +235,18 @@ AA0000000000000000000064 /* PBXTargetDependency */, ); fileSystemSynchronizedGroups = ( - AA0000000000000000000002 /* CamperMonitor */, + AA0000000000000000000002 /* VanControl */, AA0000000000000000000018 /* Shared */, AA0000000000000000000057 /* SharedActivity */, ); - name = CamperMonitor; - productName = CamperMonitor; - productReference = AA0000000000000000000001 /* CamperMonitor.app */; + name = VanControl; + productName = VanControl; + productReference = AA0000000000000000000001 /* VanControl.app */; productType = "com.apple.product-type.application"; }; - AA0000000000000000000022 /* CamperMonitorWatch */ = { + AA0000000000000000000022 /* VanControlWatch */ = { isa = PBXNativeTarget; - buildConfigurationList = AA0000000000000000000025 /* Build configuration list for PBXNativeTarget "CamperMonitorWatch" */; + buildConfigurationList = AA0000000000000000000025 /* Build configuration list for PBXNativeTarget "VanControlWatch" */; buildPhases = ( AA0000000000000000000019 /* Sources */, AA0000000000000000000020 /* Frameworks */, @@ -259,17 +259,17 @@ AA0000000000000000000044 /* PBXTargetDependency */, ); fileSystemSynchronizedGroups = ( - AA0000000000000000000017 /* CamperMonitorWatch */, + AA0000000000000000000017 /* VanControlWatch */, AA0000000000000000000018 /* Shared */, ); - name = CamperMonitorWatch; - productName = CamperMonitorWatch; - productReference = AA0000000000000000000016 /* CamperMonitorWatch.app */; + name = VanControlWatch; + productName = VanControlWatch; + productReference = AA0000000000000000000016 /* VanControlWatch.app */; productType = "com.apple.product-type.application"; }; - AA0000000000000000000037 /* CamperMonitorComplication */ = { + AA0000000000000000000037 /* VanControlComplication */ = { isa = PBXNativeTarget; - buildConfigurationList = AA0000000000000000000040 /* Build configuration list for PBXNativeTarget "CamperMonitorComplication" */; + buildConfigurationList = AA0000000000000000000040 /* Build configuration list for PBXNativeTarget "VanControlComplication" */; buildPhases = ( AA0000000000000000000034 /* Sources */, AA0000000000000000000035 /* Frameworks */, @@ -281,16 +281,16 @@ ); fileSystemSynchronizedGroups = ( AA0000000000000000000018 /* Shared */, - AA0000000000000000000033 /* CamperMonitorComplication */, + AA0000000000000000000033 /* VanControlComplication */, ); - name = CamperMonitorComplication; - productName = CamperMonitorComplication; - productReference = AA0000000000000000000032 /* CamperMonitorComplication.appex */; + name = VanControlComplication; + productName = VanControlComplication; + productReference = AA0000000000000000000032 /* VanControlComplication.appex */; productType = "com.apple.product-type.app-extension"; }; - AA0000000000000000000062 /* VanAligneiOSWidgetExtension */ = { + AA0000000000000000000062 /* VanControlWidgetExtension */ = { isa = PBXNativeTarget; - buildConfigurationList = AA0000000000000000000068 /* Build configuration list for PBXNativeTarget "VanAligneiOSWidgetExtension" */; + buildConfigurationList = AA0000000000000000000068 /* Build configuration list for PBXNativeTarget "VanControlWidgetExtension" */; buildPhases = ( AA0000000000000000000060 /* Sources */, AA0000000000000000000058 /* Frameworks */, @@ -301,12 +301,12 @@ dependencies = ( ); fileSystemSynchronizedGroups = ( - AA0000000000000000000056 /* VanAligneiOSWidget */, + AA0000000000000000000056 /* VanControlWidget */, AA0000000000000000000057 /* SharedActivity */, ); - name = VanAligneiOSWidgetExtension; - productName = VanAligneiOSWidgetExtension; - productReference = AA0000000000000000000054 /* VanAligneiOSWidgetExtension.appex */; + name = VanControlWidgetExtension; + productName = VanControlWidgetExtension; + productReference = AA0000000000000000000054 /* VanControlWidgetExtension.appex */; productType = "com.apple.product-type.app-extension"; }; /* End PBXNativeTarget section */ @@ -333,7 +333,7 @@ }; }; }; - buildConfigurationList = AA0000000000000000000010 /* Build configuration list for PBXProject "CamperMonitor" */; + buildConfigurationList = AA0000000000000000000010 /* Build configuration list for PBXProject "VanControl" */; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -348,10 +348,10 @@ projectDirPath = ""; projectRoot = ""; targets = ( - AA0000000000000000000006 /* CamperMonitor */, - AA0000000000000000000022 /* CamperMonitorWatch */, - AA0000000000000000000037 /* CamperMonitorComplication */, - AA0000000000000000000062 /* VanAligneiOSWidgetExtension */, + AA0000000000000000000006 /* VanControl */, + AA0000000000000000000022 /* VanControlWatch */, + AA0000000000000000000037 /* VanControlComplication */, + AA0000000000000000000062 /* VanControlWidgetExtension */, ); }; /* End PBXProject section */ @@ -422,17 +422,17 @@ AA0000000000000000000029 /* PBXTargetDependency */ = { isa = PBXTargetDependency; platformFilter = ios; - target = AA0000000000000000000022 /* CamperMonitorWatch */; + target = AA0000000000000000000022 /* VanControlWatch */; targetProxy = AA0000000000000000000028 /* PBXContainerItemProxy */; }; AA0000000000000000000044 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = AA0000000000000000000037 /* CamperMonitorComplication */; + target = AA0000000000000000000037 /* VanControlComplication */; targetProxy = AA0000000000000000000043 /* PBXContainerItemProxy */; }; AA0000000000000000000064 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = AA0000000000000000000062 /* VanAligneiOSWidgetExtension */; + target = AA0000000000000000000062 /* VanControlWidgetExtension */; targetProxy = AA0000000000000000000063 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -501,10 +501,10 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = ""; - DEVELOPMENT_TEAM = 6AP73NYV5W; + DEVELOPMENT_TEAM = V5C6Q86XJR; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = "Config/CamperMonitor-Info.plist"; + INFOPLIST_FILE = "Config/VanControl-Info.plist"; INFOPLIST_KEY_CFBundleDisplayName = "VanControl Pro"; INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "Zum Auslesen von Victron-Geraeten und dem Daly BMS per Bluetooth."; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; @@ -516,7 +516,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = de.fritob.CamperMonitor; + PRODUCT_BUNDLE_IDENTIFIER = de.s0.fototeddy.VanControl; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; @@ -532,10 +532,10 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = ""; - DEVELOPMENT_TEAM = 6AP73NYV5W; + DEVELOPMENT_TEAM = V5C6Q86XJR; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = "Config/CamperMonitor-Info.plist"; + INFOPLIST_FILE = "Config/VanControl-Info.plist"; INFOPLIST_KEY_CFBundleDisplayName = "VanControl Pro"; INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "Zum Auslesen von Victron-Geraeten und dem Daly BMS per Bluetooth."; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; @@ -547,7 +547,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = de.fritob.CamperMonitor; + PRODUCT_BUNDLE_IDENTIFIER = de.s0.fototeddy.VanControl; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; @@ -562,18 +562,18 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 6AP73NYV5W; + DEVELOPMENT_TEAM = V5C6Q86XJR; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_CFBundleDisplayName = "VanControl Pro"; INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "Zum Auslesen des Neigungsmessers direkt an der Uhr, ohne Umweg ueber das iPhone."; - INFOPLIST_KEY_WKCompanionAppBundleIdentifier = de.fritob.CamperMonitor; + INFOPLIST_KEY_WKCompanionAppBundleIdentifier = de.s0.fototeddy.VanControl; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = de.fritob.CamperMonitor.watchkitapp; + PRODUCT_BUNDLE_IDENTIFIER = de.s0.fototeddy.VanControl.watchkitapp; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = watchos; SKIP_INSTALL = YES; @@ -594,18 +594,18 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 6AP73NYV5W; + DEVELOPMENT_TEAM = V5C6Q86XJR; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_CFBundleDisplayName = "VanControl Pro"; INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "Zum Auslesen des Neigungsmessers direkt an der Uhr, ohne Umweg ueber das iPhone."; - INFOPLIST_KEY_WKCompanionAppBundleIdentifier = de.fritob.CamperMonitor; + INFOPLIST_KEY_WKCompanionAppBundleIdentifier = de.s0.fototeddy.VanControl; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = de.fritob.CamperMonitor.watchkitapp; + PRODUCT_BUNDLE_IDENTIFIER = de.s0.fototeddy.VanControl.watchkitapp; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = watchos; SKIP_INSTALL = YES; @@ -624,9 +624,9 @@ buildSettings = { CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 6AP73NYV5W; + DEVELOPMENT_TEAM = V5C6Q86XJR; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = "Config/CamperMonitorComplication-Info.plist"; + INFOPLIST_FILE = "Config/VanControlComplication-Info.plist"; INFOPLIST_KEY_CFBundleDisplayName = Nivellierung; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -634,7 +634,7 @@ "@executable_path/../../Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = de.fritob.CamperMonitor.watchkitapp.levelwidget; + PRODUCT_BUNDLE_IDENTIFIER = de.s0.fototeddy.VanControl.watchkitapp.levelwidget; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = watchos; SKIP_INSTALL = YES; @@ -653,9 +653,9 @@ buildSettings = { CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 6AP73NYV5W; + DEVELOPMENT_TEAM = V5C6Q86XJR; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = "Config/CamperMonitorComplication-Info.plist"; + INFOPLIST_FILE = "Config/VanControlComplication-Info.plist"; INFOPLIST_KEY_CFBundleDisplayName = Nivellierung; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -663,7 +663,7 @@ "@executable_path/../../Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = de.fritob.CamperMonitor.watchkitapp.levelwidget; + PRODUCT_BUNDLE_IDENTIFIER = de.s0.fototeddy.VanControl.watchkitapp.levelwidget; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = watchos; SKIP_INSTALL = YES; @@ -684,10 +684,10 @@ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 6AP73NYV5W; + DEVELOPMENT_TEAM = V5C6Q86XJR; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = VanAligneiOSWidget/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = VanAligneiOSWidget; + INFOPLIST_FILE = VanControlWidget/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = "VanControl Widget"; IPHONEOS_DEPLOYMENT_TARGET = 18.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -695,7 +695,7 @@ "@executable_path/../../Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = de.fritob.CamperMonitor.VanAligneiOSWidget; + PRODUCT_BUNDLE_IDENTIFIER = de.s0.fototeddy.VanControl.VanControlWidget; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; @@ -713,10 +713,10 @@ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 6AP73NYV5W; + DEVELOPMENT_TEAM = V5C6Q86XJR; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = VanAligneiOSWidget/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = VanAligneiOSWidget; + INFOPLIST_FILE = VanControlWidget/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = "VanControl Widget"; IPHONEOS_DEPLOYMENT_TARGET = 18.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -724,7 +724,7 @@ "@executable_path/../../Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = de.fritob.CamperMonitor.VanAligneiOSWidget; + PRODUCT_BUNDLE_IDENTIFIER = de.s0.fototeddy.VanControl.VanControlWidget; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_COMPILATION_MODE = wholemodule; @@ -738,7 +738,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - AA0000000000000000000010 /* Build configuration list for PBXProject "CamperMonitor" */ = { + AA0000000000000000000010 /* Build configuration list for PBXProject "VanControl" */ = { isa = XCConfigurationList; buildConfigurations = ( AA0000000000000000000012 /* Debug */, @@ -747,7 +747,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - AA0000000000000000000011 /* Build configuration list for PBXNativeTarget "CamperMonitor" */ = { + AA0000000000000000000011 /* Build configuration list for PBXNativeTarget "VanControl" */ = { isa = XCConfigurationList; buildConfigurations = ( AA0000000000000000000014 /* Debug */, @@ -756,7 +756,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - AA0000000000000000000025 /* Build configuration list for PBXNativeTarget "CamperMonitorWatch" */ = { + AA0000000000000000000025 /* Build configuration list for PBXNativeTarget "VanControlWatch" */ = { isa = XCConfigurationList; buildConfigurations = ( AA0000000000000000000023 /* Debug */, @@ -765,7 +765,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - AA0000000000000000000040 /* Build configuration list for PBXNativeTarget "CamperMonitorComplication" */ = { + AA0000000000000000000040 /* Build configuration list for PBXNativeTarget "VanControlComplication" */ = { isa = XCConfigurationList; buildConfigurations = ( AA0000000000000000000038 /* Debug */, @@ -774,7 +774,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - AA0000000000000000000068 /* Build configuration list for PBXNativeTarget "VanAligneiOSWidgetExtension" */ = { + AA0000000000000000000068 /* Build configuration list for PBXNativeTarget "VanControlWidgetExtension" */ = { isa = XCConfigurationList; buildConfigurations = ( AA0000000000000000000066 /* Debug */, diff --git a/CamperMonitor.xcodeproj/xcshareddata/xcschemes/CamperMonitor.xcscheme b/VanControl.xcodeproj/xcshareddata/xcschemes/VanControl.xcscheme similarity index 81% rename from CamperMonitor.xcodeproj/xcshareddata/xcschemes/CamperMonitor.xcscheme rename to VanControl.xcodeproj/xcshareddata/xcschemes/VanControl.xcscheme index b30322c..daad1ae 100644 --- a/CamperMonitor.xcodeproj/xcshareddata/xcschemes/CamperMonitor.xcscheme +++ b/VanControl.xcodeproj/xcshareddata/xcschemes/VanControl.xcscheme @@ -6,9 +6,9 @@ + BuildableName = "VanControl.app" + BlueprintName = "VanControl" + ReferencedContainer = "container:VanControl.xcodeproj"> @@ -21,9 +21,9 @@ + BuildableName = "VanControl.app" + BlueprintName = "VanControl" + ReferencedContainer = "container:VanControl.xcodeproj"> @@ -32,9 +32,9 @@ + BuildableName = "VanControl.app" + BlueprintName = "VanControl" + ReferencedContainer = "container:VanControl.xcodeproj"> diff --git a/CamperMonitor.xcodeproj/xcshareddata/xcschemes/CamperMonitorWatch.xcscheme b/VanControl.xcodeproj/xcshareddata/xcschemes/VanControlWatch.xcscheme similarity index 82% rename from CamperMonitor.xcodeproj/xcshareddata/xcschemes/CamperMonitorWatch.xcscheme rename to VanControl.xcodeproj/xcshareddata/xcschemes/VanControlWatch.xcscheme index 768033a..e9e9788 100644 --- a/CamperMonitor.xcodeproj/xcshareddata/xcschemes/CamperMonitorWatch.xcscheme +++ b/VanControl.xcodeproj/xcshareddata/xcschemes/VanControlWatch.xcscheme @@ -15,9 +15,9 @@ + BuildableName = "VanControlWatch.app" + BlueprintName = "VanControlWatch" + ReferencedContainer = "container:VanControl.xcodeproj"> @@ -45,9 +45,9 @@ + BuildableName = "VanControlWatch.app" + BlueprintName = "VanControlWatch" + ReferencedContainer = "container:VanControl.xcodeproj"> @@ -62,9 +62,9 @@ + BuildableName = "VanControlWatch.app" + BlueprintName = "VanControlWatch" + ReferencedContainer = "container:VanControl.xcodeproj"> diff --git a/CamperMonitor/Assets.xcassets/AccentColor.colorset/Contents.json b/VanControl/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from CamperMonitor/Assets.xcassets/AccentColor.colorset/Contents.json rename to VanControl/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/CamperMonitor/Assets.xcassets/AppIcon.appiconset/AppIcon-1024.png b/VanControl/Assets.xcassets/AppIcon.appiconset/AppIcon-1024.png similarity index 100% rename from CamperMonitor/Assets.xcassets/AppIcon.appiconset/AppIcon-1024.png rename to VanControl/Assets.xcassets/AppIcon.appiconset/AppIcon-1024.png diff --git a/CamperMonitor/Assets.xcassets/AppIcon.appiconset/Contents.json b/VanControl/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from CamperMonitor/Assets.xcassets/AppIcon.appiconset/Contents.json rename to VanControl/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/CamperMonitor/Assets.xcassets/CaliforniaSide.imageset/CaliforniaSide.png b/VanControl/Assets.xcassets/CaliforniaSide.imageset/CaliforniaSide.png similarity index 100% rename from CamperMonitor/Assets.xcassets/CaliforniaSide.imageset/CaliforniaSide.png rename to VanControl/Assets.xcassets/CaliforniaSide.imageset/CaliforniaSide.png diff --git a/CamperMonitor/Assets.xcassets/CaliforniaSide.imageset/Contents.json b/VanControl/Assets.xcassets/CaliforniaSide.imageset/Contents.json similarity index 100% rename from CamperMonitor/Assets.xcassets/CaliforniaSide.imageset/Contents.json rename to VanControl/Assets.xcassets/CaliforniaSide.imageset/Contents.json diff --git a/CamperMonitor/Assets.xcassets/Contents.json b/VanControl/Assets.xcassets/Contents.json similarity index 100% rename from CamperMonitor/Assets.xcassets/Contents.json rename to VanControl/Assets.xcassets/Contents.json diff --git a/CamperMonitor/Assets.xcassets/VansterRear.imageset/Contents.json b/VanControl/Assets.xcassets/VansterRear.imageset/Contents.json similarity index 100% rename from CamperMonitor/Assets.xcassets/VansterRear.imageset/Contents.json rename to VanControl/Assets.xcassets/VansterRear.imageset/Contents.json diff --git a/CamperMonitor/Assets.xcassets/VansterRear.imageset/VansterRear.png b/VanControl/Assets.xcassets/VansterRear.imageset/VansterRear.png similarity index 100% rename from CamperMonitor/Assets.xcassets/VansterRear.imageset/VansterRear.png rename to VanControl/Assets.xcassets/VansterRear.imageset/VansterRear.png diff --git a/CamperMonitor/Assets.xcassets/VansterSide.imageset/Contents.json b/VanControl/Assets.xcassets/VansterSide.imageset/Contents.json similarity index 100% rename from CamperMonitor/Assets.xcassets/VansterSide.imageset/Contents.json rename to VanControl/Assets.xcassets/VansterSide.imageset/Contents.json diff --git a/CamperMonitor/Assets.xcassets/VansterSide.imageset/VansterSide.png b/VanControl/Assets.xcassets/VansterSide.imageset/VansterSide.png similarity index 100% rename from CamperMonitor/Assets.xcassets/VansterSide.imageset/VansterSide.png rename to VanControl/Assets.xcassets/VansterSide.imageset/VansterSide.png diff --git a/CamperMonitor/Bluetooth/AESCounterMode.swift b/VanControl/Bluetooth/AESCounterMode.swift similarity index 100% rename from CamperMonitor/Bluetooth/AESCounterMode.swift rename to VanControl/Bluetooth/AESCounterMode.swift diff --git a/CamperMonitor/Bluetooth/AlpicoolProtocol.swift b/VanControl/Bluetooth/AlpicoolProtocol.swift similarity index 100% rename from CamperMonitor/Bluetooth/AlpicoolProtocol.swift rename to VanControl/Bluetooth/AlpicoolProtocol.swift diff --git a/CamperMonitor/Bluetooth/BMSSession.swift b/VanControl/Bluetooth/BMSSession.swift similarity index 100% rename from CamperMonitor/Bluetooth/BMSSession.swift rename to VanControl/Bluetooth/BMSSession.swift diff --git a/CamperMonitor/Bluetooth/BitReader.swift b/VanControl/Bluetooth/BitReader.swift similarity index 100% rename from CamperMonitor/Bluetooth/BitReader.swift rename to VanControl/Bluetooth/BitReader.swift diff --git a/CamperMonitor/Bluetooth/BluetoothManager.swift b/VanControl/Bluetooth/BluetoothManager.swift similarity index 99% rename from CamperMonitor/Bluetooth/BluetoothManager.swift rename to VanControl/Bluetooth/BluetoothManager.swift index 6b4c592..4915543 100644 --- a/CamperMonitor/Bluetooth/BluetoothManager.swift +++ b/VanControl/Bluetooth/BluetoothManager.swift @@ -157,7 +157,7 @@ final class BluetoothManager: NSObject { private(set) var bluetoothStatusText = "Bluetooth wird gestartet…" /// Verbindet die Live Activity des Neigungsmessers mit dem Funkgeschehen – - /// gesetzt von `CamperMonitorApp`, damit diese Schicht nichts über + /// gesetzt von `VanControlApp`, damit diese Schicht nichts über /// ActivityKit wissen muss, wenn niemand zuhört. var activityManager: LevelActivityManager? @@ -171,7 +171,7 @@ final class BluetoothManager: NSObject { // MARK: - Nur auf `queue` - private let queue = DispatchQueue(label: "de.fritob.CamperMonitor.bluetooth") + private let queue = DispatchQueue(label: "de.fritob.VanControl.bluetooth") private var central: CBCentralManager? /// Momentaufnahme der eingerichteten Geräte, damit die Funk-Queue nicht in diff --git a/CamperMonitor/Bluetooth/DalyProtocol.swift b/VanControl/Bluetooth/DalyProtocol.swift similarity index 100% rename from CamperMonitor/Bluetooth/DalyProtocol.swift rename to VanControl/Bluetooth/DalyProtocol.swift diff --git a/CamperMonitor/Bluetooth/DalyState.swift b/VanControl/Bluetooth/DalyState.swift similarity index 100% rename from CamperMonitor/Bluetooth/DalyState.swift rename to VanControl/Bluetooth/DalyState.swift diff --git a/CamperMonitor/Bluetooth/JBDProtocol.swift b/VanControl/Bluetooth/JBDProtocol.swift similarity index 100% rename from CamperMonitor/Bluetooth/JBDProtocol.swift rename to VanControl/Bluetooth/JBDProtocol.swift diff --git a/CamperMonitor/Bluetooth/VictronAdvertisement.swift b/VanControl/Bluetooth/VictronAdvertisement.swift similarity index 100% rename from CamperMonitor/Bluetooth/VictronAdvertisement.swift rename to VanControl/Bluetooth/VictronAdvertisement.swift diff --git a/CamperMonitor/Bluetooth/WattCycleProtocol.swift b/VanControl/Bluetooth/WattCycleProtocol.swift similarity index 100% rename from CamperMonitor/Bluetooth/WattCycleProtocol.swift rename to VanControl/Bluetooth/WattCycleProtocol.swift diff --git a/CamperMonitor/LiveActivity/LevelActivityManager.swift b/VanControl/LiveActivity/LevelActivityManager.swift similarity index 98% rename from CamperMonitor/LiveActivity/LevelActivityManager.swift rename to VanControl/LiveActivity/LevelActivityManager.swift index 35ef118..93a00e1 100644 --- a/CamperMonitor/LiveActivity/LevelActivityManager.swift +++ b/VanControl/LiveActivity/LevelActivityManager.swift @@ -9,7 +9,7 @@ import Observation /// CarPlay eine laufende Live Activity automatisch im Dashboard an; ein /// eigenes CarPlay-App-Target braucht es dafür nicht – die Inhalte kommen /// aber nicht von der Sperrbildschirm-Ansicht, sondern von der -/// `.small`-Aktivitätsfamilie (siehe `VanAligneiOSWidgetLiveActivity`). +/// `.small`-Aktivitätsfamilie (siehe `VanControlWidgetLiveActivity`). @Observable final class LevelActivityManager { private(set) var trackedDeviceID: UUID? diff --git a/CamperMonitor/Store/DemoData.swift b/VanControl/Store/DemoData.swift similarity index 99% rename from CamperMonitor/Store/DemoData.swift rename to VanControl/Store/DemoData.swift index bf7657e..f92740c 100644 --- a/CamperMonitor/Store/DemoData.swift +++ b/VanControl/Store/DemoData.swift @@ -6,7 +6,7 @@ import Foundation /// Nur in Debug-Builds und nur, wenn beim Start `CAMPER_DEMO=1` gesetzt ist: /// /// xcrun simctl launch --terminate-running-process \ -/// booted de.fritob.CamperMonitor +/// booted de.fritob.VanControl /// # mit: SIMCTL_CHILD_CAMPER_DEMO=1 davor /// /// Im normalen Betrieb wird hiervon nichts ausgeführt. diff --git a/CamperMonitor/Store/DeviceStore.swift b/VanControl/Store/DeviceStore.swift similarity index 100% rename from CamperMonitor/Store/DeviceStore.swift rename to VanControl/Store/DeviceStore.swift diff --git a/CamperMonitor/Store/KeychainStore.swift b/VanControl/Store/KeychainStore.swift similarity index 96% rename from CamperMonitor/Store/KeychainStore.swift rename to VanControl/Store/KeychainStore.swift index a03904c..7384d2b 100644 --- a/CamperMonitor/Store/KeychainStore.swift +++ b/VanControl/Store/KeychainStore.swift @@ -5,7 +5,7 @@ import Security /// UserDefaults, deshalb Keychain. enum KeychainStore { - private static let service = "de.fritob.CamperMonitor.victronKeys" + private static let service = "de.fritob.VanControl.victronKeys" static func setKey(_ hex: String?, for deviceID: UUID) { let account = deviceID.uuidString diff --git a/CamperMonitor/CamperMonitorApp.swift b/VanControl/VanControlApp.swift similarity index 98% rename from CamperMonitor/CamperMonitorApp.swift rename to VanControl/VanControlApp.swift index 8c92b90..12422e9 100644 --- a/CamperMonitor/CamperMonitorApp.swift +++ b/VanControl/VanControlApp.swift @@ -1,7 +1,7 @@ import SwiftUI @main -struct CamperMonitorApp: App { +struct VanControlApp: App { @State private var store: DeviceStore @State private var bluetooth: BluetoothManager @State private var watch: PhoneWatchLink diff --git a/CamperMonitor/Views/AddDeviceView.swift b/VanControl/Views/AddDeviceView.swift similarity index 100% rename from CamperMonitor/Views/AddDeviceView.swift rename to VanControl/Views/AddDeviceView.swift diff --git a/CamperMonitor/Views/AlignmentAssistantView.swift b/VanControl/Views/AlignmentAssistantView.swift similarity index 100% rename from CamperMonitor/Views/AlignmentAssistantView.swift rename to VanControl/Views/AlignmentAssistantView.swift diff --git a/CamperMonitor/Views/DashboardView.swift b/VanControl/Views/DashboardView.swift similarity index 100% rename from CamperMonitor/Views/DashboardView.swift rename to VanControl/Views/DashboardView.swift diff --git a/CamperMonitor/Views/DeviceCard.swift b/VanControl/Views/DeviceCard.swift similarity index 100% rename from CamperMonitor/Views/DeviceCard.swift rename to VanControl/Views/DeviceCard.swift diff --git a/CamperMonitor/Views/DeviceDetailView.swift b/VanControl/Views/DeviceDetailView.swift similarity index 100% rename from CamperMonitor/Views/DeviceDetailView.swift rename to VanControl/Views/DeviceDetailView.swift diff --git a/CamperMonitor/Views/FridgeControls.swift b/VanControl/Views/FridgeControls.swift similarity index 100% rename from CamperMonitor/Views/FridgeControls.swift rename to VanControl/Views/FridgeControls.swift diff --git a/CamperMonitor/Views/LevelSetupView.swift b/VanControl/Views/LevelSetupView.swift similarity index 100% rename from CamperMonitor/Views/LevelSetupView.swift rename to VanControl/Views/LevelSetupView.swift diff --git a/CamperMonitor/Views/LevelView.swift b/VanControl/Views/LevelView.swift similarity index 100% rename from CamperMonitor/Views/LevelView.swift rename to VanControl/Views/LevelView.swift diff --git a/CamperMonitor/Views/ProfilesView.swift b/VanControl/Views/ProfilesView.swift similarity index 100% rename from CamperMonitor/Views/ProfilesView.swift rename to VanControl/Views/ProfilesView.swift diff --git a/CamperMonitor/Views/SensorSetupView.swift b/VanControl/Views/SensorSetupView.swift similarity index 100% rename from CamperMonitor/Views/SensorSetupView.swift rename to VanControl/Views/SensorSetupView.swift diff --git a/CamperMonitor/Views/SettingsView.swift b/VanControl/Views/SettingsView.swift similarity index 100% rename from CamperMonitor/Views/SettingsView.swift rename to VanControl/Views/SettingsView.swift diff --git a/CamperMonitor/Views/VehicleTiltView.swift b/VanControl/Views/VehicleTiltView.swift similarity index 100% rename from CamperMonitor/Views/VehicleTiltView.swift rename to VanControl/Views/VehicleTiltView.swift diff --git a/CamperMonitor/Views/VictronKeyView.swift b/VanControl/Views/VictronKeyView.swift similarity index 100% rename from CamperMonitor/Views/VictronKeyView.swift rename to VanControl/Views/VictronKeyView.swift diff --git a/CamperMonitor/Watch/PhoneWatchLink.swift b/VanControl/Watch/PhoneWatchLink.swift similarity index 100% rename from CamperMonitor/Watch/PhoneWatchLink.swift rename to VanControl/Watch/PhoneWatchLink.swift diff --git a/CamperMonitor/logo.png b/VanControl/logo.png similarity index 100% rename from CamperMonitor/logo.png rename to VanControl/logo.png diff --git a/CamperMonitorComplication/LevelComplication.swift b/VanControlComplication/LevelComplication.swift similarity index 97% rename from CamperMonitorComplication/LevelComplication.swift rename to VanControlComplication/LevelComplication.swift index bf1bebd..073eee4 100644 --- a/CamperMonitorComplication/LevelComplication.swift +++ b/VanControlComplication/LevelComplication.swift @@ -76,7 +76,7 @@ struct LevelComplicationView: View { @main struct LevelComplication: Widget { var body: some WidgetConfiguration { - StaticConfiguration(kind: "de.fritob.CamperMonitor.complication.level", + StaticConfiguration(kind: "de.fritob.VanControl.complication.level", provider: LevelComplicationProvider()) { _ in LevelComplicationView() // Der Tipp landet nicht irgendwo in der App, sondern auf der diff --git a/CamperMonitorWatch/Assets.xcassets/AccentColor.colorset/Contents.json b/VanControlWatch/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from CamperMonitorWatch/Assets.xcassets/AccentColor.colorset/Contents.json rename to VanControlWatch/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/CamperMonitorWatch/Assets.xcassets/AppIcon.appiconset/AppIcon-1024.png b/VanControlWatch/Assets.xcassets/AppIcon.appiconset/AppIcon-1024.png similarity index 100% rename from CamperMonitorWatch/Assets.xcassets/AppIcon.appiconset/AppIcon-1024.png rename to VanControlWatch/Assets.xcassets/AppIcon.appiconset/AppIcon-1024.png diff --git a/CamperMonitorWatch/Assets.xcassets/AppIcon.appiconset/Contents.json b/VanControlWatch/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from CamperMonitorWatch/Assets.xcassets/AppIcon.appiconset/Contents.json rename to VanControlWatch/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/CamperMonitorWatch/Assets.xcassets/Contents.json b/VanControlWatch/Assets.xcassets/Contents.json similarity index 100% rename from CamperMonitorWatch/Assets.xcassets/Contents.json rename to VanControlWatch/Assets.xcassets/Contents.json diff --git a/CamperMonitorWatch/Assets.xcassets/VansterRear.imageset/Contents.json b/VanControlWatch/Assets.xcassets/VansterRear.imageset/Contents.json similarity index 100% rename from CamperMonitorWatch/Assets.xcassets/VansterRear.imageset/Contents.json rename to VanControlWatch/Assets.xcassets/VansterRear.imageset/Contents.json diff --git a/CamperMonitorWatch/Assets.xcassets/VansterRear.imageset/VansterRear.png b/VanControlWatch/Assets.xcassets/VansterRear.imageset/VansterRear.png similarity index 100% rename from CamperMonitorWatch/Assets.xcassets/VansterRear.imageset/VansterRear.png rename to VanControlWatch/Assets.xcassets/VansterRear.imageset/VansterRear.png diff --git a/CamperMonitorWatch/Assets.xcassets/VansterSide.imageset/Contents.json b/VanControlWatch/Assets.xcassets/VansterSide.imageset/Contents.json similarity index 100% rename from CamperMonitorWatch/Assets.xcassets/VansterSide.imageset/Contents.json rename to VanControlWatch/Assets.xcassets/VansterSide.imageset/Contents.json diff --git a/CamperMonitorWatch/Assets.xcassets/VansterSide.imageset/VansterSide.png b/VanControlWatch/Assets.xcassets/VansterSide.imageset/VansterSide.png similarity index 100% rename from CamperMonitorWatch/Assets.xcassets/VansterSide.imageset/VansterSide.png rename to VanControlWatch/Assets.xcassets/VansterSide.imageset/VansterSide.png diff --git a/CamperMonitorWatch/CamperWatchApp.swift b/VanControlWatch/CamperWatchApp.swift similarity index 100% rename from CamperMonitorWatch/CamperWatchApp.swift rename to VanControlWatch/CamperWatchApp.swift diff --git a/CamperMonitorWatch/PhoneLink.swift b/VanControlWatch/PhoneLink.swift similarity index 100% rename from CamperMonitorWatch/PhoneLink.swift rename to VanControlWatch/PhoneLink.swift diff --git a/CamperMonitorWatch/Views/WatchAlignView.swift b/VanControlWatch/Views/WatchAlignView.swift similarity index 100% rename from CamperMonitorWatch/Views/WatchAlignView.swift rename to VanControlWatch/Views/WatchAlignView.swift diff --git a/CamperMonitorWatch/Views/WatchBubble.swift b/VanControlWatch/Views/WatchBubble.swift similarity index 100% rename from CamperMonitorWatch/Views/WatchBubble.swift rename to VanControlWatch/Views/WatchBubble.swift diff --git a/CamperMonitorWatch/Views/WatchDeviceDetailView.swift b/VanControlWatch/Views/WatchDeviceDetailView.swift similarity index 100% rename from CamperMonitorWatch/Views/WatchDeviceDetailView.swift rename to VanControlWatch/Views/WatchDeviceDetailView.swift diff --git a/CamperMonitorWatch/Views/WatchFridgeControls.swift b/VanControlWatch/Views/WatchFridgeControls.swift similarity index 100% rename from CamperMonitorWatch/Views/WatchFridgeControls.swift rename to VanControlWatch/Views/WatchFridgeControls.swift diff --git a/CamperMonitorWatch/Views/WatchLevelView.swift b/VanControlWatch/Views/WatchLevelView.swift similarity index 100% rename from CamperMonitorWatch/Views/WatchLevelView.swift rename to VanControlWatch/Views/WatchLevelView.swift diff --git a/CamperMonitorWatch/Views/WatchRootView.swift b/VanControlWatch/Views/WatchRootView.swift similarity index 100% rename from CamperMonitorWatch/Views/WatchRootView.swift rename to VanControlWatch/Views/WatchRootView.swift diff --git a/CamperMonitorWatch/Views/WatchVehicleView.swift b/VanControlWatch/Views/WatchVehicleView.swift similarity index 100% rename from CamperMonitorWatch/Views/WatchVehicleView.swift rename to VanControlWatch/Views/WatchVehicleView.swift diff --git a/CamperMonitorWatch/WatchDemo.swift b/VanControlWatch/WatchDemo.swift similarity index 98% rename from CamperMonitorWatch/WatchDemo.swift rename to VanControlWatch/WatchDemo.swift index 54c2af1..f64196f 100644 --- a/CamperMonitorWatch/WatchDemo.swift +++ b/VanControlWatch/WatchDemo.swift @@ -4,7 +4,7 @@ import Foundation /// ohne Fahrzeug prüfen lassen. Eingeschaltet über `CAMPER_DEMO=1`: /// /// xcrun simctl launch --terminate-running-process booted \ -/// de.fritob.CamperMonitor.watchkitapp +/// de.fritob.VanControl.watchkitapp /// # mit SIMCTL_CHILD_CAMPER_DEMO=1 davor /// /// Im normalen Betrieb wird hiervon nichts ausgeführt. diff --git a/CamperMonitorWatch/WatchLevelRadio.swift b/VanControlWatch/WatchLevelRadio.swift similarity index 99% rename from CamperMonitorWatch/WatchLevelRadio.swift rename to VanControlWatch/WatchLevelRadio.swift index e3da607..ac38a13 100644 --- a/CamperMonitorWatch/WatchLevelRadio.swift +++ b/VanControlWatch/WatchLevelRadio.swift @@ -46,7 +46,7 @@ final class WatchLevelRadio: NSObject { } } - private let queue = DispatchQueue(label: "de.fritob.CamperMonitor.watch.ble") + private let queue = DispatchQueue(label: "de.fritob.VanControl.watch.ble") private var central: CBCentralManager? private var peripheral: CBPeripheral? private var session: LevelSession? diff --git a/VanAligneiOSWidget/AppIntent.swift b/VanControlWidget/AppIntent.swift similarity index 95% rename from VanAligneiOSWidget/AppIntent.swift rename to VanControlWidget/AppIntent.swift index 60a97b1..7cc69bf 100644 --- a/VanAligneiOSWidget/AppIntent.swift +++ b/VanControlWidget/AppIntent.swift @@ -1,6 +1,6 @@ // // AppIntent.swift -// VanAligneiOSWidget +// VanControlWidget // // Created by Christopher Helberg on 02.09.26. // diff --git a/VanAligneiOSWidget/Assets.xcassets/AccentColor.colorset/Contents.json b/VanControlWidget/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from VanAligneiOSWidget/Assets.xcassets/AccentColor.colorset/Contents.json rename to VanControlWidget/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/VanAligneiOSWidget/Assets.xcassets/AppIcon.appiconset/Contents.json b/VanControlWidget/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from VanAligneiOSWidget/Assets.xcassets/AppIcon.appiconset/Contents.json rename to VanControlWidget/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/VanAligneiOSWidget/Assets.xcassets/Contents.json b/VanControlWidget/Assets.xcassets/Contents.json similarity index 100% rename from VanAligneiOSWidget/Assets.xcassets/Contents.json rename to VanControlWidget/Assets.xcassets/Contents.json diff --git a/VanAligneiOSWidget/Assets.xcassets/WidgetBackground.colorset/Contents.json b/VanControlWidget/Assets.xcassets/WidgetBackground.colorset/Contents.json similarity index 100% rename from VanAligneiOSWidget/Assets.xcassets/WidgetBackground.colorset/Contents.json rename to VanControlWidget/Assets.xcassets/WidgetBackground.colorset/Contents.json diff --git a/VanAligneiOSWidget/Info.plist b/VanControlWidget/Info.plist similarity index 100% rename from VanAligneiOSWidget/Info.plist rename to VanControlWidget/Info.plist diff --git a/VanAligneiOSWidget/VanAligneiOSWidget.swift b/VanControlWidget/VanControlWidget.swift similarity index 90% rename from VanAligneiOSWidget/VanAligneiOSWidget.swift rename to VanControlWidget/VanControlWidget.swift index 5ca569e..27b8f59 100644 --- a/VanAligneiOSWidget/VanAligneiOSWidget.swift +++ b/VanControlWidget/VanControlWidget.swift @@ -1,6 +1,6 @@ // -// VanAligneiOSWidget.swift -// VanAligneiOSWidget +// VanControlWidget.swift +// VanControlWidget // // Created by Christopher Helberg on 02.09.26. // @@ -41,7 +41,7 @@ struct SimpleEntry: TimelineEntry { let configuration: ConfigurationAppIntent } -struct VanAligneiOSWidgetEntryView : View { +struct VanControlWidgetEntryView : View { var entry: Provider.Entry var body: some View { @@ -56,12 +56,12 @@ struct VanAligneiOSWidgetEntryView : View { } } -struct VanAligneiOSWidget: Widget { - let kind: String = "VanAligneiOSWidget" +struct VanControlWidget: Widget { + let kind: String = "VanControlWidget" var body: some WidgetConfiguration { AppIntentConfiguration(kind: kind, intent: ConfigurationAppIntent.self, provider: Provider()) { entry in - VanAligneiOSWidgetEntryView(entry: entry) + VanControlWidgetEntryView(entry: entry) .containerBackground(.fill.tertiary, for: .widget) } @@ -83,7 +83,7 @@ extension ConfigurationAppIntent { } #Preview(as: .systemSmall) { - VanAligneiOSWidget() + VanControlWidget() } timeline: { SimpleEntry(date: .now, configuration: .smiley) SimpleEntry(date: .now, configuration: .starEyes) diff --git a/VanControlWidget/VanControlWidgetBundle.swift b/VanControlWidget/VanControlWidgetBundle.swift new file mode 100644 index 0000000..7194d2a --- /dev/null +++ b/VanControlWidget/VanControlWidgetBundle.swift @@ -0,0 +1,18 @@ +// +// VanControlWidgetBundle.swift +// VanControlWidget +// +// Created by Christopher Helberg on 02.09.26. +// + +import WidgetKit +import SwiftUI + +@main +struct VanControlWidgetBundle: WidgetBundle { + var body: some Widget { + VanControlWidget() + VanControlWidgetControl() + VanControlWidgetLiveActivity() + } +} diff --git a/VanAligneiOSWidget/VanAligneiOSWidgetControl.swift b/VanControlWidget/VanControlWidgetControl.swift similarity index 80% rename from VanAligneiOSWidget/VanAligneiOSWidgetControl.swift rename to VanControlWidget/VanControlWidgetControl.swift index 9fb60c3..d544d45 100644 --- a/VanAligneiOSWidget/VanAligneiOSWidgetControl.swift +++ b/VanControlWidget/VanControlWidgetControl.swift @@ -1,6 +1,6 @@ // -// VanAligneiOSWidgetControl.swift -// VanAligneiOSWidget +// VanControlWidgetControl.swift +// VanControlWidget // // Created by Christopher Helberg on 02.09.26. // @@ -9,8 +9,8 @@ import AppIntents import SwiftUI import WidgetKit -struct VanAligneiOSWidgetControl: ControlWidget { - static let kind: String = "fototeddy.VanAligneiOS.VanAligneiOSWidget" +struct VanControlWidgetControl: ControlWidget { + static let kind: String = "fototeddy.VanControl.VanControlWidget" var body: some ControlWidgetConfiguration { AppIntentControlConfiguration( @@ -30,7 +30,7 @@ struct VanAligneiOSWidgetControl: ControlWidget { } } -extension VanAligneiOSWidgetControl { +extension VanControlWidgetControl { struct Value { var isRunning: Bool var name: String @@ -38,12 +38,12 @@ extension VanAligneiOSWidgetControl { struct Provider: AppIntentControlValueProvider { func previewValue(configuration: TimerConfiguration) -> Value { - VanAligneiOSWidgetControl.Value(isRunning: false, name: configuration.timerName) + VanControlWidgetControl.Value(isRunning: false, name: configuration.timerName) } func currentValue(configuration: TimerConfiguration) async throws -> Value { let isRunning = true // Check if the timer is running - return VanAligneiOSWidgetControl.Value(isRunning: isRunning, name: configuration.timerName) + return VanControlWidgetControl.Value(isRunning: isRunning, name: configuration.timerName) } } } diff --git a/VanAligneiOSWidget/VanAligneiOSWidgetLiveActivity.swift b/VanControlWidget/VanControlWidgetLiveActivity.swift similarity index 98% rename from VanAligneiOSWidget/VanAligneiOSWidgetLiveActivity.swift rename to VanControlWidget/VanControlWidgetLiveActivity.swift index 76b315f..7e3f9c1 100644 --- a/VanAligneiOSWidget/VanAligneiOSWidgetLiveActivity.swift +++ b/VanControlWidget/VanControlWidgetLiveActivity.swift @@ -1,6 +1,6 @@ // -// VanAligneiOSWidgetLiveActivity.swift -// VanAligneiOSWidget +// VanControlWidgetLiveActivity.swift +// VanControlWidget // // Created by Christopher Helberg on 02.09.26. // @@ -87,7 +87,7 @@ private struct LevelBubbleGlyph: View { } } -struct VanAligneiOSWidgetLiveActivity: Widget { +struct VanControlWidgetLiveActivity: Widget { var body: some WidgetConfiguration { ActivityConfiguration(for: LevelActivityAttributes.self) { context in LevelActivityContent(attributes: context.attributes, state: context.state) @@ -281,7 +281,7 @@ extension LevelActivityAttributes.ContentState { } #Preview("Notification", as: .content, using: LevelActivityAttributes.preview) { - VanAligneiOSWidgetLiveActivity() + VanControlWidgetLiveActivity() } contentStates: { LevelActivityAttributes.ContentState.level LevelActivityAttributes.ContentState.tilted diff --git a/run-tests.sh b/run-tests.sh index 628c02b..91ecf0a 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -5,14 +5,14 @@ set -e cd "$(dirname "$0")" OUT=$(mktemp -d) swiftc -O -o "$OUT/tests" \ - CamperMonitor/Bluetooth/AESCounterMode.swift \ - CamperMonitor/Bluetooth/BitReader.swift \ - CamperMonitor/Bluetooth/VictronAdvertisement.swift \ - CamperMonitor/Bluetooth/DalyProtocol.swift \ - CamperMonitor/Bluetooth/DalyState.swift \ - CamperMonitor/Bluetooth/JBDProtocol.swift \ - CamperMonitor/Bluetooth/WattCycleProtocol.swift \ - CamperMonitor/Bluetooth/AlpicoolProtocol.swift \ + VanControl/Bluetooth/AESCounterMode.swift \ + VanControl/Bluetooth/BitReader.swift \ + VanControl/Bluetooth/VictronAdvertisement.swift \ + VanControl/Bluetooth/DalyProtocol.swift \ + VanControl/Bluetooth/DalyState.swift \ + VanControl/Bluetooth/JBDProtocol.swift \ + VanControl/Bluetooth/WattCycleProtocol.swift \ + VanControl/Bluetooth/AlpicoolProtocol.swift \ Shared/Bluetooth/VanAlignProtocol.swift \ Shared/Models/DeviceSnapshot.swift \ Shared/Models/FridgeSettings.swift \ @@ -25,6 +25,6 @@ swiftc -O -o "$OUT/tests" \ Shared/Models/SensorOrientation.swift \ Shared/Models/VictronCodes.swift \ Shared/WatchLink/WatchLink.swift \ - CamperMonitor/Store/KeychainStore.swift \ + VanControl/Store/KeychainStore.swift \ Tests/main.swift "$OUT/tests"