Add watchOS support

This commit is contained in:
2025-04-04 18:23:12 +02:00
parent 96b0466deb
commit 384ee97cb7
20 changed files with 857 additions and 48 deletions
+195 -2
View File
@@ -6,16 +6,81 @@
objectVersion = 77;
objects = {
/* Begin PBXBuildFile section */
A7FA4CB72D9E8FF5005ACDBB /* meterios-watch.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = A7FA4CAA2D9E8FF1005ACDBB /* meterios-watch.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
A7FA4CB52D9E8FF5005ACDBB /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A7F97A862D8DD542004EF4ED /* Project object */;
proxyType = 1;
remoteGlobalIDString = A7FA4CA92D9E8FF1005ACDBB;
remoteInfo = "meterios-watch Watch App";
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
A7C3C98C2D9D67EB00731E27 /* Embed Watch Content */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "$(CONTENTS_FOLDER_PATH)/Watch";
dstSubfolderSpec = 16;
files = (
A7FA4CB72D9E8FF5005ACDBB /* meterios-watch.app in Embed Watch Content */,
);
name = "Embed Watch Content";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
A7F97A8E2D8DD542004EF4ED /* meterios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = meterios.app; sourceTree = BUILT_PRODUCTS_DIR; };
A7FA4CAA2D9E8FF1005ACDBB /* meterios-watch.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "meterios-watch.app"; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
A7FA4CBE2D9E90B0005ACDBB /* Exceptions for "meterios" folder in "meterios-watch" target */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = (
BackendConnector.swift,
);
target = A7FA4CA92D9E8FF1005ACDBB /* meterios-watch */;
};
A7FA4CCB2D9E9564005ACDBB /* Exceptions for "common" folder in "meterios-watch" target */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = (
SalutManager.swift,
types/Drink.swift,
types/User.swift,
WCManager.swift,
);
target = A7FA4CA92D9E8FF1005ACDBB /* meterios-watch */;
};
/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
/* Begin PBXFileSystemSynchronizedRootGroup section */
A7F97A902D8DD542004EF4ED /* meterios */ = {
isa = PBXFileSystemSynchronizedRootGroup;
exceptions = (
A7FA4CBE2D9E90B0005ACDBB /* Exceptions for "meterios" folder in "meterios-watch" target */,
);
path = meterios;
sourceTree = "<group>";
};
A7FA4CAB2D9E8FF1005ACDBB /* meterios-watch */ = {
isa = PBXFileSystemSynchronizedRootGroup;
path = "meterios-watch";
sourceTree = "<group>";
};
A7FA4CC62D9E94BD005ACDBB /* common */ = {
isa = PBXFileSystemSynchronizedRootGroup;
exceptions = (
A7FA4CCB2D9E9564005ACDBB /* Exceptions for "common" folder in "meterios-watch" target */,
);
path = common;
sourceTree = "<group>";
};
/* End PBXFileSystemSynchronizedRootGroup section */
/* Begin PBXFrameworksBuildPhase section */
@@ -26,13 +91,22 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
A7FA4CA72D9E8FF1005ACDBB /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
A7F97A852D8DD542004EF4ED = {
isa = PBXGroup;
children = (
A7FA4CC62D9E94BD005ACDBB /* common */,
A7F97A902D8DD542004EF4ED /* meterios */,
A7FA4CAB2D9E8FF1005ACDBB /* meterios-watch */,
A7F97A8F2D8DD542004EF4ED /* Products */,
);
sourceTree = "<group>";
@@ -41,6 +115,7 @@
isa = PBXGroup;
children = (
A7F97A8E2D8DD542004EF4ED /* meterios.app */,
A7FA4CAA2D9E8FF1005ACDBB /* meterios-watch.app */,
);
name = Products;
sourceTree = "<group>";
@@ -55,13 +130,16 @@
A7F97A8A2D8DD542004EF4ED /* Sources */,
A7F97A8B2D8DD542004EF4ED /* Frameworks */,
A7F97A8C2D8DD542004EF4ED /* Resources */,
A7C3C98C2D9D67EB00731E27 /* Embed Watch Content */,
);
buildRules = (
);
dependencies = (
A7FA4CB62D9E8FF5005ACDBB /* PBXTargetDependency */,
);
fileSystemSynchronizedGroups = (
A7F97A902D8DD542004EF4ED /* meterios */,
A7FA4CC62D9E94BD005ACDBB /* common */,
);
name = meterios;
packageProductDependencies = (
@@ -70,6 +148,28 @@
productReference = A7F97A8E2D8DD542004EF4ED /* meterios.app */;
productType = "com.apple.product-type.application";
};
A7FA4CA92D9E8FF1005ACDBB /* meterios-watch */ = {
isa = PBXNativeTarget;
buildConfigurationList = A7FA4CB82D9E8FF5005ACDBB /* Build configuration list for PBXNativeTarget "meterios-watch" */;
buildPhases = (
A7FA4CA62D9E8FF1005ACDBB /* Sources */,
A7FA4CA72D9E8FF1005ACDBB /* Frameworks */,
A7FA4CA82D9E8FF1005ACDBB /* Resources */,
);
buildRules = (
);
dependencies = (
);
fileSystemSynchronizedGroups = (
A7FA4CAB2D9E8FF1005ACDBB /* meterios-watch */,
);
name = "meterios-watch";
packageProductDependencies = (
);
productName = "meterios-watch Watch App";
productReference = A7FA4CAA2D9E8FF1005ACDBB /* meterios-watch.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -83,6 +183,9 @@
A7F97A8D2D8DD542004EF4ED = {
CreatedOnToolsVersion = 16.2;
};
A7FA4CA92D9E8FF1005ACDBB = {
CreatedOnToolsVersion = 16.2;
};
};
};
buildConfigurationList = A7F97A892D8DD542004EF4ED /* Build configuration list for PBXProject "meterios" */;
@@ -100,6 +203,7 @@
projectRoot = "";
targets = (
A7F97A8D2D8DD542004EF4ED /* meterios */,
A7FA4CA92D9E8FF1005ACDBB /* meterios-watch */,
);
};
/* End PBXProject section */
@@ -112,6 +216,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
A7FA4CA82D9E8FF1005ACDBB /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -122,8 +233,23 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
A7FA4CA62D9E8FF1005ACDBB /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
A7FA4CB62D9E8FF5005ACDBB /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = A7FA4CA92D9E8FF1005ACDBB /* meterios-watch */;
targetProxy = A7FA4CB52D9E8FF5005ACDBB /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
A7F97A9A2D8DD54B004EF4ED /* Debug */ = {
isa = XCBuildConfiguration;
@@ -272,7 +398,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
MARKETING_VERSION = 1.1;
PRODUCT_BUNDLE_IDENTIFIER = space.chaosdorf.meterios;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@@ -309,7 +435,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
MARKETING_VERSION = 1.1;
PRODUCT_BUNDLE_IDENTIFIER = space.chaosdorf.meterios;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@@ -322,6 +448,64 @@
};
name = Release;
};
A7FA4CB92D9E8FF5005ACDBB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 3RNVF52786;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_CFBundleDisplayName = Meterios;
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
INFOPLIST_KEY_WKCompanionAppBundleIdentifier = space.chaosdorf.meterios;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.1;
PRODUCT_BUNDLE_IDENTIFIER = space.chaosdorf.meterios.watchkitapp;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = watchos;
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = 4;
WATCHOS_DEPLOYMENT_TARGET = 8.7;
};
name = Debug;
};
A7FA4CBA2D9E8FF5005ACDBB /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 3RNVF52786;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_CFBundleDisplayName = Meterios;
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
INFOPLIST_KEY_WKCompanionAppBundleIdentifier = space.chaosdorf.meterios;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.1;
PRODUCT_BUNDLE_IDENTIFIER = space.chaosdorf.meterios.watchkitapp;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = watchos;
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = 4;
WATCHOS_DEPLOYMENT_TARGET = 8.7;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -343,6 +527,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
A7FA4CB82D9E8FF5005ACDBB /* Build configuration list for PBXNativeTarget "meterios-watch" */ = {
isa = XCConfigurationList;
buildConfigurations = (
A7FA4CB92D9E8FF5005ACDBB /* Debug */,
A7FA4CBA2D9E8FF5005ACDBB /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = A7F97A862D8DD542004EF4ED /* Project object */;
@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1620"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES"
buildArchitectures = "Automatic">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A7FA4CA92D9E8FF1005ACDBB"
BuildableName = "meterios-watch.app"
BlueprintName = "meterios-watch"
ReferencedContainer = "container:meterios.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A7F97A8D2D8DD542004EF4ED"
BuildableName = "meterios.app"
BlueprintName = "meterios"
ReferencedContainer = "container:meterios.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A7FA4CA92D9E8FF1005ACDBB"
BuildableName = "meterios-watch.app"
BlueprintName = "meterios-watch"
ReferencedContainer = "container:meterios.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A7FA4CA92D9E8FF1005ACDBB"
BuildableName = "meterios-watch.app"
BlueprintName = "meterios-watch"
ReferencedContainer = "container:meterios.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1620"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES"
buildArchitectures = "Automatic">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A7F97A8D2D8DD542004EF4ED"
BuildableName = "meterios.app"
BlueprintName = "meterios"
ReferencedContainer = "container:meterios.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A7F97A8D2D8DD542004EF4ED"
BuildableName = "meterios.app"
BlueprintName = "meterios"
ReferencedContainer = "container:meterios.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A7F97A8D2D8DD542004EF4ED"
BuildableName = "meterios.app"
BlueprintName = "meterios"
ReferencedContainer = "container:meterios.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>