Widget-Extension in LiveActivity umbenennen, da kein Widget mehr drin ist

Nach dem Entfernen der Beispiel-Widget/-Control-Dateien enthielt
VanControlWidget(Extension) nur noch die Live Activity – der Name war
damit irreführend. Jetzt VanControlLiveActivity(Extension) durchgängig:
Ordner, Target, Produkt, Bundle-ID-Suffix, Dateien
(VanControlLiveActivity.swift, VanControlLiveActivityBundle.swift) und
Anzeigename ("VanControl Live Activity").

Build (App Debug+Release, Watch) und Protokoll-Tests grün.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
fototeddy
2026-09-06 21:34:40 +02:00
co-authored by Claude Sonnet 5
parent 003222bf30
commit 59076076e8
10 changed files with 47 additions and 47 deletions
+26 -26
View File
@@ -13,7 +13,7 @@
AA0000000000000000000047 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA0000000000000000000052 /* SwiftUI.framework */; }; AA0000000000000000000047 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA0000000000000000000052 /* SwiftUI.framework */; };
AA0000000000000000000048 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA0000000000000000000051 /* WidgetKit.framework */; }; AA0000000000000000000048 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA0000000000000000000051 /* WidgetKit.framework */; };
AA0000000000000000000049 /* ActivityKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA0000000000000000000053 /* ActivityKit.framework */; }; AA0000000000000000000049 /* ActivityKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA0000000000000000000053 /* ActivityKit.framework */; };
AA0000000000000000000050 /* VanControlWidgetExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = AA0000000000000000000054 /* VanControlWidgetExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; AA0000000000000000000050 /* VanControlLiveActivityExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = AA0000000000000000000054 /* VanControlLiveActivityExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
@@ -36,7 +36,7 @@
containerPortal = AA0000000000000000000009 /* Project object */; containerPortal = AA0000000000000000000009 /* Project object */;
proxyType = 1; proxyType = 1;
remoteGlobalIDString = AA0000000000000000000062; remoteGlobalIDString = AA0000000000000000000062;
remoteInfo = VanControlWidgetExtension; remoteInfo = VanControlLiveActivityExtension;
}; };
/* End PBXContainerItemProxy section */ /* End PBXContainerItemProxy section */
@@ -69,7 +69,7 @@
dstPath = ""; dstPath = "";
dstSubfolderSpec = 13; dstSubfolderSpec = 13;
files = ( files = (
AA0000000000000000000050 /* VanControlWidgetExtension.appex in Embed Foundation Extensions */, AA0000000000000000000050 /* VanControlLiveActivityExtension.appex in Embed Foundation Extensions */,
); );
name = "Embed Foundation Extensions"; name = "Embed Foundation Extensions";
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
@@ -85,16 +85,16 @@
AA0000000000000000000051 /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; }; 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; }; 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; }; AA0000000000000000000053 /* ActivityKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ActivityKit.framework; path = System/Library/Frameworks/ActivityKit.framework; sourceTree = SDKROOT; };
AA0000000000000000000054 /* VanControlWidgetExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = VanControlWidgetExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; AA0000000000000000000054 /* VanControlLiveActivityExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = VanControlLiveActivityExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ /* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
AA0000000000000000000055 /* Exceptions for "VanControlWidget" folder in "VanControlWidgetExtension" target */ = { AA0000000000000000000055 /* Exceptions for "VanControlLiveActivity" folder in "VanControlLiveActivityExtension" target */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet; isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = ( membershipExceptions = (
Info.plist, Info.plist,
); );
target = AA0000000000000000000062 /* VanControlWidgetExtension */; target = AA0000000000000000000062 /* VanControlLiveActivityExtension */;
}; };
/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ /* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
@@ -119,12 +119,12 @@
path = VanControlComplication; path = VanControlComplication;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
AA0000000000000000000056 /* VanControlWidget */ = { AA0000000000000000000056 /* VanControlLiveActivity */ = {
isa = PBXFileSystemSynchronizedRootGroup; isa = PBXFileSystemSynchronizedRootGroup;
exceptions = ( exceptions = (
AA0000000000000000000055 /* Exceptions for "VanControlWidget" folder in "VanControlWidgetExtension" target */, AA0000000000000000000055 /* Exceptions for "VanControlLiveActivity" folder in "VanControlLiveActivityExtension" target */,
); );
path = VanControlWidget; path = VanControlLiveActivity;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
AA0000000000000000000057 /* SharedActivity */ = { AA0000000000000000000057 /* SharedActivity */ = {
@@ -179,7 +179,7 @@
AA0000000000000000000018 /* Shared */, AA0000000000000000000018 /* Shared */,
AA0000000000000000000057 /* SharedActivity */, AA0000000000000000000057 /* SharedActivity */,
AA0000000000000000000031 /* Config */, AA0000000000000000000031 /* Config */,
AA0000000000000000000056 /* VanControlWidget */, AA0000000000000000000056 /* VanControlLiveActivity */,
AA0000000000000000000059 /* Frameworks */, AA0000000000000000000059 /* Frameworks */,
AA0000000000000000000005 /* Products */, AA0000000000000000000005 /* Products */,
); );
@@ -191,7 +191,7 @@
AA0000000000000000000001 /* VanControl.app */, AA0000000000000000000001 /* VanControl.app */,
AA0000000000000000000016 /* VanControlWatch.app */, AA0000000000000000000016 /* VanControlWatch.app */,
AA0000000000000000000032 /* VanControlComplication.appex */, AA0000000000000000000032 /* VanControlComplication.appex */,
AA0000000000000000000054 /* VanControlWidgetExtension.appex */, AA0000000000000000000054 /* VanControlLiveActivityExtension.appex */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -288,9 +288,9 @@
productReference = AA0000000000000000000032 /* VanControlComplication.appex */; productReference = AA0000000000000000000032 /* VanControlComplication.appex */;
productType = "com.apple.product-type.app-extension"; productType = "com.apple.product-type.app-extension";
}; };
AA0000000000000000000062 /* VanControlWidgetExtension */ = { AA0000000000000000000062 /* VanControlLiveActivityExtension */ = {
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = AA0000000000000000000068 /* Build configuration list for PBXNativeTarget "VanControlWidgetExtension" */; buildConfigurationList = AA0000000000000000000068 /* Build configuration list for PBXNativeTarget "VanControlLiveActivityExtension" */;
buildPhases = ( buildPhases = (
AA0000000000000000000060 /* Sources */, AA0000000000000000000060 /* Sources */,
AA0000000000000000000058 /* Frameworks */, AA0000000000000000000058 /* Frameworks */,
@@ -301,12 +301,12 @@
dependencies = ( dependencies = (
); );
fileSystemSynchronizedGroups = ( fileSystemSynchronizedGroups = (
AA0000000000000000000056 /* VanControlWidget */, AA0000000000000000000056 /* VanControlLiveActivity */,
AA0000000000000000000057 /* SharedActivity */, AA0000000000000000000057 /* SharedActivity */,
); );
name = VanControlWidgetExtension; name = VanControlLiveActivityExtension;
productName = VanControlWidgetExtension; productName = VanControlLiveActivityExtension;
productReference = AA0000000000000000000054 /* VanControlWidgetExtension.appex */; productReference = AA0000000000000000000054 /* VanControlLiveActivityExtension.appex */;
productType = "com.apple.product-type.app-extension"; productType = "com.apple.product-type.app-extension";
}; };
/* End PBXNativeTarget section */ /* End PBXNativeTarget section */
@@ -351,7 +351,7 @@
AA0000000000000000000006 /* VanControl */, AA0000000000000000000006 /* VanControl */,
AA0000000000000000000022 /* VanControlWatch */, AA0000000000000000000022 /* VanControlWatch */,
AA0000000000000000000037 /* VanControlComplication */, AA0000000000000000000037 /* VanControlComplication */,
AA0000000000000000000062 /* VanControlWidgetExtension */, AA0000000000000000000062 /* VanControlLiveActivityExtension */,
); );
}; };
/* End PBXProject section */ /* End PBXProject section */
@@ -432,7 +432,7 @@
}; };
AA0000000000000000000064 /* PBXTargetDependency */ = { AA0000000000000000000064 /* PBXTargetDependency */ = {
isa = PBXTargetDependency; isa = PBXTargetDependency;
target = AA0000000000000000000062 /* VanControlWidgetExtension */; target = AA0000000000000000000062 /* VanControlLiveActivityExtension */;
targetProxy = AA0000000000000000000063 /* PBXContainerItemProxy */; targetProxy = AA0000000000000000000063 /* PBXContainerItemProxy */;
}; };
/* End PBXTargetDependency section */ /* End PBXTargetDependency section */
@@ -686,8 +686,8 @@
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = V5C6Q86XJR; DEVELOPMENT_TEAM = V5C6Q86XJR;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = VanControlWidget/Info.plist; INFOPLIST_FILE = VanControlLiveActivity/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "VanControl Widget"; INFOPLIST_KEY_CFBundleDisplayName = "VanControl Live Activity";
IPHONEOS_DEPLOYMENT_TARGET = 18.0; IPHONEOS_DEPLOYMENT_TARGET = 18.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
@@ -695,7 +695,7 @@
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = de.s0.fototeddy.VanControl.VanControlWidget; PRODUCT_BUNDLE_IDENTIFIER = de.s0.fototeddy.VanControl.VanControlLiveActivity;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
@@ -715,8 +715,8 @@
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = V5C6Q86XJR; DEVELOPMENT_TEAM = V5C6Q86XJR;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = VanControlWidget/Info.plist; INFOPLIST_FILE = VanControlLiveActivity/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "VanControl Widget"; INFOPLIST_KEY_CFBundleDisplayName = "VanControl Live Activity";
IPHONEOS_DEPLOYMENT_TARGET = 18.0; IPHONEOS_DEPLOYMENT_TARGET = 18.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
@@ -724,7 +724,7 @@
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = de.s0.fototeddy.VanControl.VanControlWidget; PRODUCT_BUNDLE_IDENTIFIER = de.s0.fototeddy.VanControl.VanControlLiveActivity;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
SWIFT_COMPILATION_MODE = wholemodule; SWIFT_COMPILATION_MODE = wholemodule;
@@ -774,7 +774,7 @@
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
AA0000000000000000000068 /* Build configuration list for PBXNativeTarget "VanControlWidgetExtension" */ = { AA0000000000000000000068 /* Build configuration list for PBXNativeTarget "VanControlLiveActivityExtension" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (
AA0000000000000000000066 /* Debug */, AA0000000000000000000066 /* Debug */,
@@ -9,7 +9,7 @@ import Observation
/// CarPlay eine laufende Live Activity automatisch im Dashboard an; ein /// CarPlay eine laufende Live Activity automatisch im Dashboard an; ein
/// eigenes CarPlay-App-Target braucht es dafür nicht die Inhalte kommen /// eigenes CarPlay-App-Target braucht es dafür nicht die Inhalte kommen
/// aber nicht von der Sperrbildschirm-Ansicht, sondern von der /// aber nicht von der Sperrbildschirm-Ansicht, sondern von der
/// `.small`-Aktivitätsfamilie (siehe `VanControlWidgetLiveActivity`). /// `.small`-Aktivitätsfamilie (siehe `VanControlLiveActivity`).
@Observable @Observable
final class LevelActivityManager { final class LevelActivityManager {
private(set) var trackedDeviceID: UUID? private(set) var trackedDeviceID: UUID?
@@ -1,6 +1,6 @@
// //
// VanControlWidgetLiveActivity.swift // VanControlLiveActivity.swift
// VanControlWidget // VanControlLiveActivity
// //
// Created by Christopher Helberg on 02.09.26. // Created by Christopher Helberg on 02.09.26.
// //
@@ -87,7 +87,7 @@ private struct LevelBubbleGlyph: View {
} }
} }
struct VanControlWidgetLiveActivity: Widget { struct VanControlLiveActivity: Widget {
var body: some WidgetConfiguration { var body: some WidgetConfiguration {
ActivityConfiguration(for: LevelActivityAttributes.self) { context in ActivityConfiguration(for: LevelActivityAttributes.self) { context in
LevelActivityContent(attributes: context.attributes, state: context.state) LevelActivityContent(attributes: context.attributes, state: context.state)
@@ -281,7 +281,7 @@ extension LevelActivityAttributes.ContentState {
} }
#Preview("Notification", as: .content, using: LevelActivityAttributes.preview) { #Preview("Notification", as: .content, using: LevelActivityAttributes.preview) {
VanControlWidgetLiveActivity() VanControlLiveActivity()
} contentStates: { } contentStates: {
LevelActivityAttributes.ContentState.level LevelActivityAttributes.ContentState.level
LevelActivityAttributes.ContentState.tilted LevelActivityAttributes.ContentState.tilted
@@ -0,0 +1,16 @@
//
// VanControlLiveActivityBundle.swift
// VanControlLiveActivity
//
// Created by Christopher Helberg on 02.09.26.
//
import WidgetKit
import SwiftUI
@main
struct VanControlLiveActivityBundle: WidgetBundle {
var body: some Widget {
VanControlLiveActivity()
}
}
@@ -1,16 +0,0 @@
//
// VanControlWidgetBundle.swift
// VanControlWidget
//
// Created by Christopher Helberg on 02.09.26.
//
import WidgetKit
import SwiftUI
@main
struct VanControlWidgetBundle: WidgetBundle {
var body: some Widget {
VanControlWidgetLiveActivity()
}
}