Make standalone watchOS app
Seto Elkahfi committed
Jul 30, 2026 at 21:56 UTC
84cac7f715119ac51e4fa26a3f24e492054bb500
2 files changed
+11
Runners/XCRSControlKitRunner.xcodeproj/project.pbxproj
+10
@@ -10,6 +10,7 @@
10
0BF8E6E42A39CE747AD5ED5D /* ControlKitRunnerUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F818EB333BD812EBDAC7 /* ControlKitRunnerUITests.swift */; };
11
0DFC449880A304B5154D7F6D /* XCRSControlKit in Frameworks */ = {isa = PBXBuildFile; productRef = BE99FEAB3F75651FC71BB9B5 /* XCRSControlKit */; };
12
100DCE12F169B8A38E219931 /* ControlKitRPCServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 976BFE251DB7DC2248C8D0E7 /* ControlKitRPCServer.swift */; };
13
+ 16FD91843DB787E92BBF41D6 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 243F4A0C8F7567EDEEE21282 /* README.md */; };
14
25622E0215D89F31880E6356 /* ControlKitRunnerUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F818EB333BD812EBDAC7 /* ControlKitRunnerUITests.swift */; };
15
2CE41182704301ED3E17F12A /* NIOCore in Frameworks */ = {isa = PBXBuildFile; productRef = 611C969D93EC290726A7395E /* NIOCore */; };
16
3CAE36F48F2BB14EC17B1A49 /* NIOHTTP1 in Frameworks */ = {isa = PBXBuildFile; productRef = 39DF23C6EF63909919D192E1 /* NIOHTTP1 */; };
@@ -20,6 +21,7 @@
21
561834A353CBD37B8354A58E /* NIOCore in Frameworks */ = {isa = PBXBuildFile; productRef = 786AF91DEFF9CFAF6733FE5D /* NIOCore */; };
22
57C6D92B45E7092A5C2AD7D2 /* ControlKitRunnerApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FB5CFB03469D6F6B4B90338 /* ControlKitRunnerApp.swift */; };
23
57E28C91935955E0FCA55C21 /* NIOCore in Frameworks */ = {isa = PBXBuildFile; productRef = 1EEBDB1A27DC2D28A6BB1B95 /* NIOCore */; };
24
+ 5AE42BE2CFBC1A90028E7C6C /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 511F38504131E988C4903A29 /* README.md */; };
25
5C1F1D551479D29CA351EEF1 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E395E1A9D0B3259F9C816109 /* Assets.xcassets */; };
26
607F9363076F0FE76CA24A73 /* ControlKitRunnerApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5591C7FEF7205CCA88C10507 /* ControlKitRunnerApp.swift */; };
27
673EB3CCA913F73C710B72B0 /* NIOCore in Frameworks */ = {isa = PBXBuildFile; productRef = 58494EA2BBD98AE84158250F /* NIOCore */; };
@@ -95,10 +97,12 @@
97
08CFC4F37BB1C3444B435EC8 /* ControlKit-tvOS.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = "ControlKit-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
98
0AF2C936A45BEF3E427051E8 /* ControlKit-iOS.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = "ControlKit-iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
99
1D9522A60419FFC7F405FE88 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
100
+ 243F4A0C8F7567EDEEE21282 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
101
2A9F28238A4519F25B302BD1 /* ControlKit-visionOS.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = "ControlKit-visionOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
102
3686EC34042E55BB49FCE937 /* ControlKit-macOS-UITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "ControlKit-macOS-UITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
103
3DFF0D230E8E7D8DF4E8AF86 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
104
40A16F9F72DA073E165B0149 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
105
+ 511F38504131E988C4903A29 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
106
5591C7FEF7205CCA88C10507 /* ControlKitRunnerApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ControlKitRunnerApp.swift; sourceTree = "<group>"; };
107
5A26B9285A83B3312F79B286 /* ControlKit-macOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "ControlKit-macOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
108
5A89F5048B0CAE4988FB1203 /* ControlKit-visionOS-UITests.xctest */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.cfbundle; path = "ControlKit-visionOS-UITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -220,6 +224,7 @@
224
children = (
225
FD4E3603A115950345EC4C96 /* Assets.xcassets */,
226
EC6FBC92946E0D2F913F6A1E /* ControlKitRunnerApp.swift */,
227
+ 243F4A0C8F7567EDEEE21282 /* README.md */,
228
);
229
path = watchOS;
230
sourceTree = "<group>";
@@ -230,6 +235,7 @@
235
40A16F9F72DA073E165B0149 /* Assets.xcassets */,
236
B4A7C1166461333A52056112 /* ControlKit-macOS-UITests.entitlements */,
237
5591C7FEF7205CCA88C10507 /* ControlKitRunnerApp.swift */,
238
+ 511F38504131E988C4903A29 /* README.md */,
239
);
240
path = macOS;
241
sourceTree = "<group>";
@@ -557,6 +563,7 @@
563
buildActionMask = 2147483647;
564
files = (
565
560FDA8EB7B9DE368869D155 /* Assets.xcassets in Resources */,
566
+ 16FD91843DB787E92BBF41D6 /* README.md in Resources */,
567
);
568
runOnlyForDeploymentPostprocessing = 0;
569
};
@@ -574,6 +581,7 @@
581
buildActionMask = 2147483647;
582
files = (
583
9DF1151412A41AC8D2EDE2D5 /* Assets.xcassets in Resources */,
584
+ 5AE42BE2CFBC1A90028E7C6C /* README.md in Resources */,
585
);
586
runOnlyForDeploymentPostprocessing = 0;
587
};
@@ -1008,6 +1016,7 @@
1016
isa = XCBuildConfiguration;
1017
buildSettings = {
1018
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
1019
+ INFOPLIST_KEY_WKWatchOnly = YES;
1020
PRODUCT_BUNDLE_IDENTIFIER = "com.smbcloud.xcrs-controlkit.watchos.runner";
1021
PRODUCT_NAME = ControlKit;
1022
SDKROOT = watchos;
@@ -1020,6 +1029,7 @@
1029
isa = XCBuildConfiguration;
1030
buildSettings = {
1031
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
1032
+ INFOPLIST_KEY_WKWatchOnly = YES;
1033
PRODUCT_BUNDLE_IDENTIFIER = "com.smbcloud.xcrs-controlkit.watchos.runner";
1034
PRODUCT_NAME = ControlKit;
1035
SDKROOT = watchos;
Runners/project.yml
+1
@@ -137,6 +137,7 @@ targets:
137
base:
138
TARGETED_DEVICE_FAMILY: "4"
139
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
140
+ INFOPLIST_KEY_WKWatchOnly: YES
141
ControlKit-watchOS-UITests:
142
templates: [UITests]
143
platform: watchOS