Record Runners/ xcodeproj drift

These three files drift on every Xcode open or xcodegen generate: - project.pbxproj - Package.resolved - xcschemes/ControlKit-watchOS.xcscheme The cause is in Runners/project.yml: swift-nio is declared with 'from: 2.0.0' (a floating range), so the resolver picks a new version on every run, and Xcode re-saves the project and scheme to match. Xcode most recently downgraded swift-nio from 2.101.3 to 2.101.0. The runner project is committed on purpose: it lets contributors without XcodeGen open it in Xcode. The next commit pins swift-nio to exactVersion 2.101.0, which is what Package.resolved currently resolves to, so the float disappears and the tree goes quiet. Co-Authored-By: siGit Code v1.7.0-acp <noreply@sigit.si>

Seto Elkahfi committed Oct 16, 2026 at 20:47 UTC 64866b6c99a2f51a5434220b320ccda29a9c8879
3 files changed +21 -15
Runners/XCRSControlKitRunner.xcodeproj/project.pbxproj
+17 -9
@@ -94,24 +94,24 @@
94
95 /* Begin PBXFileReference section */
96 06ABEBF2BC26029BF199977C /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
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; };
97 + 08CFC4F37BB1C3444B435EC8 /* ControlKit.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ControlKit.app; sourceTree = BUILT_PRODUCTS_DIR; };
98 + 0AF2C936A45BEF3E427051E8 /* ControlKit-iOS.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; name = "ControlKit-iOS.app"; path = ControlKit.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; };
101 + 2A9F28238A4519F25B302BD1 /* ControlKit-visionOS.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; name = "ControlKit-visionOS.app"; path = ControlKit.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; };
107 + 5A26B9285A83B3312F79B286 /* ControlKit-macOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; name = "ControlKit-macOS.app"; path = ControlKit.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; };
109 5FB5CFB03469D6F6B4B90338 /* ControlKitRunnerApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ControlKitRunnerApp.swift; sourceTree = "<group>"; };
110 898E84DC2CE45F3463AA7E5D /* ControlKitRunnerApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ControlKitRunnerApp.swift; sourceTree = "<group>"; };
111 8A09FB52496A952CB13C163B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
112 904DF2F8A56B8FA1C5EE1431 /* ControlKit-tvOS-UITests.xctest */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.cfbundle; path = "ControlKit-tvOS-UITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
113 976BFE251DB7DC2248C8D0E7 /* ControlKitRPCServer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ControlKitRPCServer.swift; sourceTree = "<group>"; };
114 - 9D200812648C48867D12D43D /* ControlKit-watchOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "ControlKit-watchOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
114 + 9D200812648C48867D12D43D /* ControlKit-watchOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; name = "ControlKit-watchOS.app"; path = ControlKit.app; sourceTree = BUILT_PRODUCTS_DIR; };
115 A32F608A3A429B81416D59FC /* ControlKitRunnerApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ControlKitRunnerApp.swift; sourceTree = "<group>"; };
116 B4A7C1166461333A52056112 /* ControlKit-macOS-UITests.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "ControlKit-macOS-UITests.entitlements"; sourceTree = "<group>"; };
117 CD648878AF85C1F1CC002EC1 /* ControlKit-watchOS-UITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "ControlKit-watchOS-UITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -210,7 +210,7 @@
210 3686EC34042E55BB49FCE937 /* ControlKit-macOS-UITests.xctest */,
211 5A26B9285A83B3312F79B286 /* ControlKit-macOS.app */,
212 904DF2F8A56B8FA1C5EE1431 /* ControlKit-tvOS-UITests.xctest */,
213 - 08CFC4F37BB1C3444B435EC8 /* ControlKit-tvOS.app */,
213 + 08CFC4F37BB1C3444B435EC8 /* ControlKit.app */,
214 5A89F5048B0CAE4988FB1203 /* ControlKit-visionOS-UITests.xctest */,
215 2A9F28238A4519F25B302BD1 /* ControlKit-visionOS.app */,
216 CD648878AF85C1F1CC002EC1 /* ControlKit-watchOS-UITests.xctest */,
@@ -300,7 +300,7 @@
300 packageProductDependencies = (
301 );
302 productName = "ControlKit-tvOS";
303 - productReference = 08CFC4F37BB1C3444B435EC8 /* ControlKit-tvOS.app */;
303 + productReference = 08CFC4F37BB1C3444B435EC8 /* ControlKit.app */;
304 productType = "com.apple.product-type.application";
305 };
306 09F6B446FD034D1BCF7FE56B /* ControlKit-visionOS-UITests */ = {
@@ -886,7 +886,10 @@
886 GENERATE_INFOPLIST_FILE = YES;
887 INFOPLIST_KEY_CFBundleDisplayName = ControlKit;
888 IPHONEOS_DEPLOYMENT_TARGET = 16.0;
889 - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
889 + LD_RUNPATH_SEARCH_PATHS = (
890 + "$(inherited)",
891 + "@executable_path/Frameworks",
892 + );
893 MACOSX_DEPLOYMENT_TARGET = 13.0;
894 MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
895 MTL_FAST_MATH = YES;
@@ -986,6 +989,7 @@
989 buildSettings = {
990 ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
991 ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
992 + DEVELOPMENT_TEAM = 2TQF86ZACD;
993 LD_RUNPATH_SEARCH_PATHS = (
994 "$(inherited)",
995 "@executable_path/Frameworks",
@@ -1043,6 +1047,7 @@
1047 buildSettings = {
1048 ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
1049 ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
1050 + DEVELOPMENT_TEAM = 2TQF86ZACD;
1051 LD_RUNPATH_SEARCH_PATHS = (
1052 "$(inherited)",
1053 "@executable_path/Frameworks",
@@ -1137,7 +1142,10 @@
1142 GENERATE_INFOPLIST_FILE = YES;
1143 INFOPLIST_KEY_CFBundleDisplayName = ControlKit;
1144 IPHONEOS_DEPLOYMENT_TARGET = 16.0;
1140 - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
1145 + LD_RUNPATH_SEARCH_PATHS = (
1146 + "$(inherited)",
1147 + "@executable_path/Frameworks",
1148 + );
1149 MACOSX_DEPLOYMENT_TARGET = 13.0;
1150 MTL_ENABLE_DEBUG_INFO = NO;
1151 MTL_FAST_MATH = YES;
Runners/XCRSControlKitRunner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
+4 -4
@@ -5,8 +5,8 @@
5 "kind" : "remoteSourceControl",
6 "location" : "https://github.com/apple/swift-atomics.git",
7 "state" : {
8 - "revision" : "0442cb5a3f98ab802acb777929fdb446bda11a34",
9 - "version" : "1.3.1"
8 + "revision" : "b601256eab081c0f92f059e12818ac1d4f178ff7",
9 + "version" : "1.3.0"
10 }
11 },
12 {
@@ -23,8 +23,8 @@
23 "kind" : "remoteSourceControl",
24 "location" : "https://github.com/apple/swift-nio.git",
25 "state" : {
26 - "revision" : "0b18836bd8b0162e7e17a995a3fbee20ed8f3b2b",
27 - "version" : "2.101.3"
26 + "revision" : "77b84ac2cd2ac9e4ac67d19f045fd5b434f56967",
27 + "version" : "2.101.0"
28 }
29 },
30 {
Runners/XCRSControlKitRunner.xcodeproj/xcshareddata/xcschemes/ControlKit-watchOS.xcscheme
-2
@@ -79,7 +79,6 @@
79 BuildableIdentifier = "primary"
80 BlueprintIdentifier = "E85C2DCD1888C5276C1F13E4"
81 BuildableName = "ControlKit.app"
82 - BlueprintName = "ControlKit-watchOS"
82 ReferencedContainer = "container:XCRSControlKitRunner.xcodeproj">
83 </BuildableReference>
84 </BuildableProductRunnable>
@@ -96,7 +95,6 @@
95 BuildableIdentifier = "primary"
96 BlueprintIdentifier = "E85C2DCD1888C5276C1F13E4"
97 BuildableName = "ControlKit.app"
99 - BlueprintName = "ControlKit-watchOS"
98 ReferencedContainer = "container:XCRSControlKitRunner.xcodeproj">
99 </BuildableReference>
100 </BuildableProductRunnable>