xcodebuild fail

Getting archive fail while launching command from TeamCity, but if it launch manually from console then it works fine.
Command:
xcodebuild -project Unity-VisionOS.xcodeproj -scheme Unity-VisionOS -destination generic/platform=xros archive -archivePath Unity-VisionOS.xcarchive -quiet > logs/visionos_archive.log 

Error:

2025-11-18 15:33:12.161 ibtoold[56062:4395005] [MT] IBPlatformTool: *** Failed to launch tool with description <IBVisionPlatformToolDescription: 0x600003278380> System content for IBCocoaTouchFramework-seventeenAndLater <IBScaleFactorDeviceTypeDescription: 0x600003278400> scaleFactor=2x, renderMode.identifier=(null): Failed to find or create execution context for description '<IBVisionPlatformToolDescription: 0x600003278380> System content for IBCocoaTouchFramework-seventeenAndLater <IBScaleFactorDeviceTypeDescription: 0x600003278400> scaleFactor=2x, renderMode.identifier=(null)'.
Device type: IBSimDeviceTypeiPad2x (com.apple.dt.Xcode.IBSimDeviceType.iPad-2x)
Sim runtime: visionOS 2.1 (2.1 - 22N580) - com.apple.CoreSimulator.SimRuntime.xrOS-2-1
Device: (null)
** Please also include the output of `xcrun simctl diagnose` and `xcode-select -p`.: Failed to find a suitable device for the type IBSimDeviceTypeiPad2x (com.apple.dt.Xcode.IBSimDeviceType.iPad-2x) with runtime visionOS 2.1 (2.1 - 22N580) - com.apple.CoreSimulator.SimRuntime.xrOS-2-1 (Failure reason: Failed to create new simulator device in set SimDeviceSet : /Users/user/Library/Developer/Xcode/UserData/IB Support/Simulator Devices that matches IBSimDeviceTypeiPad2x (com.apple.dt.Xcode.IBSimDeviceType.iPad-2x) for runtime visionOS 2.1 (2.1 - 22N580) - com.apple.CoreSimulator.SimRuntime.xrOS-2-1 (Incompatible device). Available devices: (
   "IBSimDeviceTypeiPad3x (D1B76A51-0DB5-439F-B65D-891AB20C2B26, iOS 18.1, Shutdown)",
   "IBSimDeviceTypeiPad2x (CA17569D-D3EA-4B11-A20D-3571D4A5E58A, iOS 18.1, Shutdown)",
   "IBSimDeviceTypeiPad2x (E3EE1BC6-2F2F-48D3-A378-A819824F7082, iOS 18.1, Shutdown)"
)): Incompatible device
/* com.apple.ibtool.document.warnings */
/Users/xcode_dir_path/xcode/LaunchScreen-iPhone.storyboard:global: warning: Compiling Interface Builder products for visionOS will not be supported in a future version of Xcode. [9]
/* com.apple.ibtool.errors */
/Users/xcode_dir_path/LaunchScreen-iPhone.storyboard: error: Failed to find or create execution context for description '<IBVisionPlatformToolDescription: 0x600003278380> System content for IBCocoaTouchFramework-seventeenAndLater <IBScaleFactorDeviceTypeDescription: 0x600003278400> scaleFactor=2x, renderMode.identifier=(null)'.
Device type: IBSimDeviceTypeiPad2x (com.apple.dt.Xcode.IBSimDeviceType.iPad-2x)
Sim runtime: visionOS 2.1 (2.1 - 22N580) - com.apple.CoreSimulator.SimRuntime.xrOS-2-1
Device: (null)
** Please also include the output of `xcrun simctl diagnose` and `xcode-select -p`.
   Underlying Errors:
       Description: Failed to find a suitable device for the type IBSimDeviceTypeiPad2x (com.apple.dt.Xcode.IBSimDeviceType.iPad-2x) with runtime visionOS 2.1 (2.1 - 22N580) - com.apple.CoreSimulator.SimRuntime.xrOS-2-1
       Failure Reason: Failed to create new simulator device in set SimDeviceSet : /Users/user/Library/Developer/Xcode/UserData/IB Support/Simulator Devices that matches IBSimDeviceTypeiPad2x (com.apple.dt.Xcode.IBSimDeviceType.iPad-2x) for runtime visionOS 2.1 (2.1 - 22N580) - com.apple.CoreSimulator.SimRuntime.xrOS-2-1 (Incompatible device). Available devices: (
   "IBSimDeviceTypeiPad3x (D1B76A51-0DB5-439F-B65D-891AB20C2B26, iOS 18.1, Shutdown)",
   "IBSimDeviceTypeiPad2x (CA17569D-D3EA-4B11-A20D-3571D4A5E58A, iOS 18.1, Shutdown)",
   "IBSimDeviceTypeiPad2x (E3EE1BC6-2F2F-48D3-A378-A819824F7082, iOS 18.1, Shutdown)"
)
       Underlying Errors:
           Description: Incompatible device


I tried a lot things. But problem is in that it doesn't work from TeamCity. Probably because of different environment.
 

0
10 comments

Hi,

The build fails with errors such as:

- “Failed to find or create execution context…”
- “Failed to find a suitable device… Incompatible device”
- IBSimDeviceTypeiPad2x + visionOS 2.1 runtime mismatch

These errors originate from Xcode’s internal Interface Builder tool (ibtoold), which compiles storyboards/xibs for the visionOS target. During this process, Xcode requires a visionOS simulator device and runtime to render Interface Builder assets.

The same command runs successfully when executed manually because your local macOS user has the required visionOS runtime and Vision Pro simulator devices installed. However, the TeamCity agent user (e.g., teamcity or buildagent) does not have access to these simulators. As a result, Xcode falls back to iOS devices (e.g., iPad2x), which are incompatible with visionOS, causing the storyboard compilation to fail.

If possible, please ensure the TeamCity agent runs under the same macOS user account. If it runs under a different user, it may not have access to visionOS simulators. For more information on configuring a TeamCity agent to start automatically under a specific user, please refer to:

https://www.jetbrains.com/help/teamcity/start-teamcity-agent.html#Automatic+Start.

To help us further investigate, you can share the output of the following commands when executed inside a TeamCity build step:

whoami
xcrun simctl list runtimes
xcrun simctl list devices
xcode-select -p
0

Hi, thanks for replying.
The commands you recommended to execute give same results as it would be executed in console

myuser

11:21:11   == Runtimes ==
11:21:11   iOS 18.1 (18.1 - 22B81) - com.apple.CoreSimulator.SimRuntime.iOS-18-1
11:21:11   iOS 18.6 (18.6 - 22G86) - com.apple.CoreSimulator.SimRuntime.iOS-18-6
11:21:11   visionOS 2.0 (2.0 - 22N318) - com.apple.CoreSimulator.SimRuntime.xrOS-2-0
11:21:11   visionOS 2.1 (2.1 - 22N580) - com.apple.CoreSimulator.SimRuntime.xrOS-2-1
11:21:11   == Devices ==
11:21:11   -- iOS 18.1 --
11:21:11       iOS 18_1 (5C133DD1-DD9E-446F-84BB-872C6B41223D) (Shutdown)
11:21:11       iPhone 16 Pro (78683AE0-6238-4EF1-BD47-192FC0DC2559) (Shutdown)
11:21:11       iPhone 16 Pro Max (98BFE915-787D-4673-991A-5D3EC448CC51) (Shutdown)
11:21:11       iPhone 16 (D3E6FED8-9E65-4141-A31C-FC7EA3492111) (Shutdown)
11:21:11       iPhone 16 Plus (16B34CD3-6E72-46F3-870A-ECCFFA80AA33) (Shutdown)
11:21:11       iPhone SE (3rd generation) (C89EF52D-5C8E-4142-A960-268C158C9FD8) (Shutdown)
11:21:11       iPad Pro 11-inch (M4) (92D1DF36-0CA0-4464-A11F-57BCEE0BE2EC) (Shutdown)
11:21:11       iPad Pro 13-inch (M4) (2286C5CD-9DFF-4F54-9245-A7C9ABCECA48) (Shutdown)
11:21:11       iPad Air 11-inch (M2) (7ED931CE-F400-418B-885D-9AE0CBC32F3D) (Shutdown)
11:21:11       iPad Air 13-inch (M2) (0A277ADE-1E1E-4450-8146-792FD545138D) (Shutdown)
11:21:11       iPad mini (A17 Pro) (10F1862E-E27B-42C5-9B02-1FA71D2F4707) (Shutdown)
11:21:11       iPad (10th generation) (E6E0D31F-91E4-4D3E-898D-516D79DDD58E) (Shutdown)
11:21:11   -- iOS 18.6 --
11:21:11       iPhone 16 Pro (88F13F5D-7110-44BB-BF77-8DDFAB14CB81) (Shutdown)
11:21:11       iPhone 16 Pro Max (904C10F2-18F2-49FC-B02F-7BF9665C5740) (Shutdown)
11:21:11       iPhone 16e (3877980A-D57E-4FB1-B57B-E27916226580) (Shutdown)
11:21:11       iPhone 16 (219E7062-9D0D-493A-98D7-037782BE8FDD) (Shutdown)
11:21:11       iPhone 16 Plus (F832DF32-49FB-4286-B1C9-1640D43441B4) (Shutdown)
11:21:11       iPhone SE (3rd generation) (FC1231F2-1BDC-4586-81EE-AA3A1F2D0466) (Shutdown)
11:21:11       iPad Pro 11-inch (M4) (37EC4BED-0509-4853-BA3E-178186F7E245) (Shutdown)
11:21:11       iPad Pro 13-inch (M4) (3EE29C1F-450D-4E80-93FA-3773F09F77E2) (Shutdown)
11:21:11       iPad mini (A17 Pro) (64DF31C9-A5AE-4079-8A18-74FA48539FD7) (Shutdown)
11:21:11       iPad (A16) (6E2EC610-74DF-4351-8EAE-C91FBF020699) (Shutdown)
11:21:11       iPad Air 13-inch (M3) (443C4ECC-0FD6-49A8-AABE-0C7BC24E0E30) (Shutdown)
11:21:11       iPad Air 11-inch (M3) (B2ED56F0-9841-4D21-A525-13A2AFCE3EF6) (Shutdown)
11:21:11       iPad Air 11-inch (M2) (329D1DDE-CAAB-43EF-898A-5260ECB5F8E6) (Shutdown)
11:21:11       iPad Air 13-inch (M2) (5A2C1CC0-74E2-407D-88ED-8761253A9E68) (Shutdown)
11:21:11       iPad (10th generation) (4DE02E82-1333-4576-A624-F44663A04D20) (Shutdown)
11:21:11   -- visionOS 2.0 --
11:21:11       Apple Vision Pro (F2EE338E-4472-481F-B7DA-10BA45B673C1) (Shutdown) (unavailable, device type profile not found)
11:21:11   -- visionOS 2.1 --
11:21:11       Apple Vision Pro (E4D22A75-A38E-4135-9152-EF4D64BEC3F2) (Shutdown) (unavailable, device type profile not found)
11:21:11   -- Unavailable: com.apple.CoreSimulator.SimRuntime.iOS-18-3 --
11:21:11       iPhone 16 Pro (0021C251-3A41-42A2-8DC9-00CB33BE8A6B) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPhone 16 Pro Max (4D110925-C81B-4256-85A7-7A46C93B46A9) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPhone 16e (74F425E9-CDEB-49FB-9036-6235872DF386) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPhone 16 (1A5F74A3-E8A1-428B-8E05-F57F20BC766D) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPhone 16 Plus (CC35F524-5A45-44A4-A0FF-AD2AADF8A708) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPhone SE (3rd generation) (F9F0367C-5F5C-4729-9EE9-5E5FA6501EC0) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPad Pro 11-inch (M4) (0A167DFF-B855-4C62-8996-116A9ED8FEF8) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPad Pro 13-inch (M4) (76480F49-AD2C-436A-8469-8D4BBCD64626) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPad mini (A17 Pro) (A7A377CE-12C2-4342-A8C7-1B481FEDBBDC) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPad (A16) (B1ED7AF3-EBBF-432D-B7CA-6604AE71EA14) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPad Air 13-inch (M3) (8D28D25A-E4FB-443E-BD65-48E992ECBF26) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPad Air 11-inch (M3) (5840FC8C-5BD7-48F5-A06C-15309177A278) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPad Air 11-inch (M2) (445BBA37-F456-4D61-96AF-7D8E9562DF58) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPad Air 13-inch (M2) (7ADF2EC5-D518-480B-AA4D-33EFE4D912D1) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPad (10th generation) (6BE27F30-8AA2-4E94-A1D8-6A7434772B8A) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11   -- Unavailable: com.apple.CoreSimulator.SimRuntime.iOS-18-4 --
11:21:11       iPhone 16 Pro (F7D30A8F-860C-41CB-8808-37230571A1D6) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPhone 16 Pro Max (A6DF4B3F-0948-4FD5-B814-0C404CA1C65F) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPhone 16e (FB499549-3390-4728-A811-D4984487E7B0) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPhone 16 (E5932172-BF8B-4259-B9CC-ED500385D2FC) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPhone 16 Plus (D3A00065-9FD6-468C-AE63-9986B0704FC0) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPhone SE (3rd generation) (1ED3F03F-268E-4007-A945-48CD9C803B0C) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPad Pro 11-inch (M4) (AE334552-E6A2-4DF1-9A89-61389B10BEC9) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPad Pro 13-inch (M4) (E56497F8-7224-4E8C-AAE7-45852DADA9B4) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPad (A16) (76C9BC14-E8B3-4A2C-B5E4-B34090EC908B) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPad Air 13-inch (M3) (DF5CDA28-C6E4-4845-B3CC-5FF63F95596D) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPad Air 11-inch (M3) (0063368C-083E-4094-A59F-550D82B3CFFA) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPad Air 11-inch (M2) (5D8761CE-7C1F-4599-8029-DF23F8381542) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPad Air 13-inch (M2) (56602399-88E5-4E86-B294-0E9D13586687) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPad mini (A17 Pro) (C89CCB6D-281F-4CEE-A4C8-06FD38D31224) (Shutdown) (unavailable, runtime profile not found using "System" match policy)
11:21:11       iPad (10th generation) (0E542179-7B4C-4457-AD3C-15DBE54BED40) (Shutdown) (unavailable, runtime profile not found using "System" match policy)


11:21:11   /Applications/Xcode-16.1.0.app/Contents/Developer

Also, i start agent by manually invoking script /bin/agent.sh with start argument from console.
 

0

Hi,

Thanks for confirming that xcode-select -p returns /Applications/Xcode-16.1.0.app/Contents/Developer both locally and on the TeamCity agent.

This confirms that both environments are using the correct Xcode installation. The issue is not the Xcode path, but rather the state and availability of simulator devices within that Xcode environment on your headless CI machine.

The build is failing because it tries to use an iPad (iOS) device profile (IBSimDeviceTypeiPad2x) with the visionOS runtime. This indicates a project configuration issue, where LaunchScreen-iPhone.storyboard is being compiled for the visionOS target using iOS/iPad settings.

Your local machine masks this issue — likely due to valid cached profiles or Xcode automatically switching to a proper Vision Pro simulator — but the CI environment cannot do this.

From your xcrun simctl list devices output, the Vision Pro simulator is marked as:

-- visionOS 2.1 --

Apple Vision Pro (E4D22A75-A38E-4135-9152-EF4D64BEC3F2) (Shutdown) (**unavailable, device type profile not found**)

When ibtool runs in CI, it attempts to use this Vision Pro simulator but finds it unavailable, then falls back to a generic iPad profile — which naturally causes the “Incompatible device” error.

Since your Xcode path matches, you could have a try to use xcrun simctl commands in TeamCity build step to manually create and boot a Vision Pro simulator so that it appears as “available,” ensuring ibtool has the runtime context it needs.

 

 

 

0

Thanks for directing me in right problem solving direction. I discovered that, for some reasons, I cannot create simulator from TeamCity because of devices types list is empty for Vision. This is what  xcrun simctl create "Vision Pro CI" com.apple.CoreSimulator.SimDeviceType.Apple-Vision-Pro com.apple.CoreSimulator.SimRuntime.xrOS-2-1 prints:


Invalid device type: com.apple.CoreSimulator.SimDeviceType.Apple-Vision-Pro

And  xcrun simctl list devicetypes:

== Device Types ==
13:00:08   iPhone 17 Pro (com.apple.CoreSimulator.SimDeviceType.iPhone-17-Pro)
13:00:08   iPhone 17 Pro Max (com.apple.CoreSimulator.SimDeviceType.iPhone-17-Pro-Max)
13:00:08   iPhone Air (com.apple.CoreSimulator.SimDeviceType.iPhone-Air)
13:00:08   iPhone 17 (com.apple.CoreSimulator.SimDeviceType.iPhone-17)
13:00:08   iPhone 16 Pro (com.apple.CoreSimulator.SimDeviceType.iPhone-16-Pro)
13:00:08   iPhone 16 Pro Max (com.apple.CoreSimulator.SimDeviceType.iPhone-16-Pro-Max)
13:00:08   iPhone 16e (com.apple.CoreSimulator.SimDeviceType.iPhone-16e)
13:00:08   iPhone 16 (com.apple.CoreSimulator.SimDeviceType.iPhone-16)
13:00:08   iPhone 16 Plus (com.apple.CoreSimulator.SimDeviceType.iPhone-16-Plus)
13:00:08   iPhone 15 Pro (com.apple.CoreSimulator.SimDeviceType.iPhone-15-Pro)
13:00:08   iPhone 15 Pro Max (com.apple.CoreSimulator.SimDeviceType.iPhone-15-Pro-Max)
13:00:08   iPhone 15 (com.apple.CoreSimulator.SimDeviceType.iPhone-15)
13:00:08   iPhone 15 Plus (com.apple.CoreSimulator.SimDeviceType.iPhone-15-Plus)
13:00:08   iPhone 14 Pro (com.apple.CoreSimulator.SimDeviceType.iPhone-14-Pro)
13:00:08   iPhone 14 Pro Max (com.apple.CoreSimulator.SimDeviceType.iPhone-14-Pro-Max)
13:00:08   iPhone 14 (com.apple.CoreSimulator.SimDeviceType.iPhone-14)
13:00:08   iPhone 14 Plus (com.apple.CoreSimulator.SimDeviceType.iPhone-14-Plus)
13:00:08   iPhone SE (3rd generation) (com.apple.CoreSimulator.SimDeviceType.iPhone-SE-3rd-generation)
13:00:08   iPhone 13 Pro (com.apple.CoreSimulator.SimDeviceType.iPhone-13-Pro)
13:00:08   iPhone 13 Pro Max (com.apple.CoreSimulator.SimDeviceType.iPhone-13-Pro-Max)
13:00:08   iPhone 13 (com.apple.CoreSimulator.SimDeviceType.iPhone-13)
13:00:08   iPhone 13 mini (com.apple.CoreSimulator.SimDeviceType.iPhone-13-mini)
13:00:08   iPhone 12 Pro (com.apple.CoreSimulator.SimDeviceType.iPhone-12-Pro)
13:00:08   iPhone 12 Pro Max (com.apple.CoreSimulator.SimDeviceType.iPhone-12-Pro-Max)
13:00:08   iPhone 12 (com.apple.CoreSimulator.SimDeviceType.iPhone-12)
13:00:08   iPhone 12 mini (com.apple.CoreSimulator.SimDeviceType.iPhone-12-mini)
13:00:08   iPhone SE (2nd generation) (com.apple.CoreSimulator.SimDeviceType.iPhone-SE--2nd-generation-)
13:00:08   iPhone 11 Pro (com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro)
13:00:08   iPhone 11 Pro Max (com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro-Max)
13:00:08   iPhone 11 (com.apple.CoreSimulator.SimDeviceType.iPhone-11)
13:00:08   iPhone Xʀ (com.apple.CoreSimulator.SimDeviceType.iPhone-XR)
13:00:08   iPhone Xs (com.apple.CoreSimulator.SimDeviceType.iPhone-XS)
13:00:08   iPhone Xs Max (com.apple.CoreSimulator.SimDeviceType.iPhone-XS-Max)
13:00:08   iPhone X (com.apple.CoreSimulator.SimDeviceType.iPhone-X)
13:00:08   iPhone 8 (com.apple.CoreSimulator.SimDeviceType.iPhone-8)
13:00:08   iPhone 8 Plus (com.apple.CoreSimulator.SimDeviceType.iPhone-8-Plus)
13:00:08   iPhone 7 (com.apple.CoreSimulator.SimDeviceType.iPhone-7)
13:00:08   iPhone 7 Plus (com.apple.CoreSimulator.SimDeviceType.iPhone-7-Plus)
13:00:08   iPhone SE (1st generation) (com.apple.CoreSimulator.SimDeviceType.iPhone-SE)
13:00:08   iPhone 6s (com.apple.CoreSimulator.SimDeviceType.iPhone-6s)
13:00:08   iPhone 6s Plus (com.apple.CoreSimulator.SimDeviceType.iPhone-6s-Plus)
13:00:08   iPad Pro 11-inch (M4) (16GB) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro-11-inch-M4-16GB)
13:00:08   iPad Pro 11-inch (M4) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro-11-inch-M4-8GB)
13:00:08   iPad Pro 13-inch (M4) (16GB) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro-13-inch-M4-16GB)
13:00:08   iPad Pro 13-inch (M4) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro-13-inch-M4-8GB)
13:00:08   iPad (A16) (com.apple.CoreSimulator.SimDeviceType.iPad-A16)
13:00:08   iPad Air 13-inch (M3) (com.apple.CoreSimulator.SimDeviceType.iPad-Air-13-inch-M3)
13:00:08   iPad Air 11-inch (M3) (com.apple.CoreSimulator.SimDeviceType.iPad-Air-11-inch-M3)
13:00:08   iPad Air 11-inch (M2) (com.apple.CoreSimulator.SimDeviceType.iPad-Air-11-inch-M2)
13:00:08   iPad Air 13-inch (M2) (com.apple.CoreSimulator.SimDeviceType.iPad-Air-13-inch-M2)
13:00:08   iPad mini (A17 Pro) (com.apple.CoreSimulator.SimDeviceType.iPad-mini-A17-Pro)
13:00:08   iPad Pro (11-inch) (4th generation) (16GB) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro-11-inch-4th-generation-16GB)
13:00:08   iPad Pro (11-inch) (4th generation) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro-11-inch-4th-generation-8GB)
13:00:08   iPad Pro (12.9-inch) (6th generation) (16GB) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro-12-9-inch-6th-generation-16GB)
13:00:08   iPad Pro (12.9-inch) (6th generation) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro-12-9-inch-6th-generation-8GB)
13:00:08   iPad (10th generation) (com.apple.CoreSimulator.SimDeviceType.iPad-10th-generation)
13:00:08   iPad Air (5th generation) (com.apple.CoreSimulator.SimDeviceType.iPad-Air-5th-generation)
13:00:08   iPad mini (6th generation) (com.apple.CoreSimulator.SimDeviceType.iPad-mini-6th-generation)
13:00:08   iPad Pro (11-inch) (3rd generation) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro-11-inch-3rd-generation)
13:00:08   iPad Pro (12.9-inch) (5th generation) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro-12-9-inch-5th-generation)
13:00:08   iPad (9th generation) (com.apple.CoreSimulator.SimDeviceType.iPad-9th-generation)
13:00:08   iPad Air (4th generation) (com.apple.CoreSimulator.SimDeviceType.iPad-Air--4th-generation-)
13:00:08   iPad (8th generation) (com.apple.CoreSimulator.SimDeviceType.iPad--8th-generation-)
13:00:08   iPad Air (3rd generation) (com.apple.CoreSimulator.SimDeviceType.iPad-Air--3rd-generation-)
13:00:08   iPad mini (5th generation) (com.apple.CoreSimulator.SimDeviceType.iPad-mini--5th-generation-)
13:00:08   iPad Pro (11-inch) (2nd generation) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro--11-inch---2nd-generation-)
13:00:08   iPad Pro (12.9-inch) (4th generation) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro--12-9-inch---4th-generation-)
13:00:08   iPad Pro (11-inch) (1st generation) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro--11-inch-)
13:00:08   iPad Pro (12.9-inch) (3rd generation) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro--12-9-inch---3rd-generation-)
13:00:08   iPad (7th generation) (com.apple.CoreSimulator.SimDeviceType.iPad--7th-generation-)
13:00:08   iPad Pro (10.5-inch) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro--10-5-inch-)
13:00:08   iPad Pro (12.9-inch) (2nd generation) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro--12-9-inch---2nd-generation-)
13:00:08   iPad (6th generation) (com.apple.CoreSimulator.SimDeviceType.iPad--6th-generation-)
13:00:08   iPad Pro (9.7-inch) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro--9-7-inch-)
13:00:08   iPad Pro (12.9-inch) (1st generation) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro)
13:00:08   iPad (5th generation) (com.apple.CoreSimulator.SimDeviceType.iPad--5th-generation-)
13:00:08   iPad Air 2 (com.apple.CoreSimulator.SimDeviceType.iPad-Air-2)
13:00:08   iPad mini 4 (com.apple.CoreSimulator.SimDeviceType.iPad-mini-4)
13:00:08   Apple TV 4K (3rd generation) (com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-3rd-generation-4K)
13:00:08   Apple TV 4K (3rd generation) (at 1080p) (com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-3rd-generation-1080p)
13:00:08   Apple TV 4K (2nd generation) (com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-2nd-generation-4K)
13:00:08   Apple TV 4K (2nd generation) (at 1080p) (com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-2nd-generation-1080p)
13:00:08   Apple TV 4K (com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-4K)
13:00:08   Apple TV 4K (at 1080p) (com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-1080p)
13:00:08   Apple TV (com.apple.CoreSimulator.SimDeviceType.Apple-TV-1080p)
13:00:08   Apple Watch Series 11 (46mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-11-46mm)
13:00:08   Apple Watch Series 11 (42mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-11-42mm)
13:00:08   Apple Watch Series 10 (46mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-10-46mm)
13:00:08   Apple Watch Series 10 (42mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-10-42mm)
13:00:08   Apple Watch Series 9 (45mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-9-45mm)
13:00:08   Apple Watch Series 9 (41mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-9-41mm)
13:00:08   Apple Watch Ultra 3 (49mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Ultra-3-49mm)
13:00:08   Apple Watch Ultra 2 (49mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Ultra-2-49mm)
13:00:08   Apple Watch SE 3 (44mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-SE-3-44mm)
13:00:08   Apple Watch SE 3 (40mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-SE-3-40mm)
13:00:08   Apple Watch Series 8 (45mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-8-45mm)
13:00:08   Apple Watch Series 8 (41mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-8-41mm)
13:00:08   Apple Watch Ultra (49mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Ultra-49mm)
13:00:08   Apple Watch SE (44mm) (2nd generation) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-SE-44mm-2nd-generation)
13:00:08   Apple Watch SE (40mm) (2nd generation) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-SE-40mm-2nd-generation)
13:00:08   Apple Watch Series 7 (45mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-45mm)
13:00:08   Apple Watch Series 7 (41mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-41mm)
13:00:08   Apple Watch Series 6 (44mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-44mm)
13:00:08   Apple Watch Series 6 (40mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-40mm)
13:00:08   Apple Watch SE (44mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-SE-44mm)
13:00:08   Apple Watch SE (40mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-SE-40mm)
13:00:08   Apple Watch Series 5 (44mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-44mm)
13:00:08   Apple Watch Series 5 (40mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-40mm)
13:00:08   Apple Watch Series 4 (44mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-4-44mm)
13:00:08   Apple Watch Series 4 (40mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-4-40mm)
13:00:08   Apple Watch Series 3 (42mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-3-42mm)
13:00:08   Apple Watch Series 3 (38mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-3-38mm)
13:00:08   Apple Watch Series 2 (42mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-2-42mm)
13:00:08   Apple Watch Series 2 (38mm) (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-2-38mm)
13:00:08   iPod touch (7th generation) (com.apple.CoreSimulator.SimDeviceType.iPod-touch--7th-generation-)

And if i run those command from console, it will print Vision device type and creation of device will be successfull

0

Looks like TeamCity launch environment is different from system.

0

Hi,

Please ensure that your runtime is installed globally.

Could you please add the following script to your TeamCity build steps and share the results with us?

# ==========================================
# Configuration
# ==========================================
DEVICE_NAME="TC-VisionPro"
# Number of old simulators with the same name to keep (optional cleanup)
MAX_OLD_SIMULATORS=1 

# ==========================================
# 1. Select Device Type
# ==========================================
# extract the device type ID (e.g., com.apple.CoreSimulator.SimDeviceType.Apple-Vision-Pro)
# We use head -n1 to pick the first available match.
DEVICE_TYPE=$(xcrun simctl list devicetypes | grep "Apple Vision Pro" | head -n1 | awk -F '[()]' '{print $2}')

if [ -z "$DEVICE_TYPE" ]; then
    echo "[ERROR] No 'Apple Vision Pro' device type found!"
    echo "Tip: If running in TeamCity, ensure env.HOME is set correctly or the Runtime is installed globally."
    exit 1
fi
echo "Using Device Type: $DEVICE_TYPE"

# ==========================================
# 2. Select Latest xrOS Runtime
# ==========================================
# Extract the runtime ID (e.g., com.apple.CoreSimulator.SimRuntime.xrOS-2-1)
# Filters out 'unavailable' runtimes.
RUNTIME=$(xcrun simctl list runtimes | grep -i "xrOS" | grep -v "unavailable" | head -n1 | awk -F ' - ' '{print $NF}' | tr -d ' ')

if [ -z "$RUNTIME" ]; then
    echo "[ERROR] No available VisionOS / xrOS runtime found!"
    exit 1
fi
echo "Using Runtime: $RUNTIME"

# ==========================================
# 3. Check for Existing Simulator
# ==========================================
# Check if a simulator with the specific name already exists
EXISTING_UDID=$(xcrun simctl list devices | grep "$DEVICE_NAME" | head -n1 | awk -F '[()]' '{print $2}')

if [ -n "$EXISTING_UDID" ]; then
    echo "Found existing simulator: $EXISTING_UDID"
    UDID=$EXISTING_UDID
else
    echo "No existing simulator found. Creating new Vision Pro simulator..."
    UDID=$(xcrun simctl create "$DEVICE_NAME" "$DEVICE_TYPE" "$RUNTIME")
    echo "Created simulator with UDID: $UDID"
fi

# ==========================================
# 4. Boot Simulator (Idempotent)
# ==========================================
# Check the current state of the device.
# We grep for the UDID and check if the string "(Booted)" exists in that line.
if xcrun simctl list devices | grep "$UDID" | grep -q "(Booted)"; then
    echo "Simulator $DEVICE_NAME ($UDID) is already Booted. Skipping boot."
else
    echo "Booting Vision Pro simulator ($UDID)..."
    # Try to boot; ignore error if it happens to transition states immediately
    xcrun simctl boot "$UDID" || echo "Warning: Boot command returned an exit code, but we will wait for status."
fi

# ==========================================
# 5. Wait for Boot Completion
# ==========================================
echo "Waiting for simulator to finish booting..."
# 'bootstatus -b' blocks until the device is fully usable
xcrun simctl bootstatus "$UDID" -b || { echo "[ERROR] Simulator failed to boot within timeout"; exit 1; }

# ==========================================
# 6. Final Status Check
# ==========================================
echo "--------------------------------"
echo "Simulator Ready:"
xcrun simctl list devices | grep "$UDID"
echo "--------------------------------"

# ==========================================
# 7. Cleanup Old Simulators 
# ==========================================
if [ "$MAX_OLD_SIMULATORS" -gt 0 ]; then
    echo "Checking for old simulators to clean up..."
   
    # List all devices with this name, exclude the current one we just used/created
    # Then delete the excess ones if count > MAX
    xcrun simctl list devices | grep "$DEVICE_NAME" | grep -v "$UDID" | awk -F '[()]' '{print $2}' | while read -r OLD_UDID; do
        if [ -n "$OLD_UDID" ]; then
            echo "Deleting old simulator: $OLD_UDID"
            xcrun simctl delete "$OLD_UDID" || echo "Failed to delete $OLD_UDID (might be in use)"
        fi
    done
fi
0

How can I ensure that runtime installed globally? I downloaded SDK from Xcode GUI from Settings → Components

And Xcode was downloaded by xcodes utility (also i tried downloading from https://xcodereleases.com/ )

That's what your script prints:
[ERROR] No 'Apple Vision Pro' device type found!

Tip: If running in TeamCity, ensure env.HOME is set correctly or the Runtime is installed globally.

 

env.HOME is same both locally and from TeamCity

0

Hi,

The error “No 'Apple Vision Pro' device type found!” typically occurs when the VisionOS runtime is installed under the user-specific directory:

~/Library/Developer/CoreSimulator/...

In this case, the TeamCity build agent (even when using the same $HOME value) cannot access the runtime because it resides in a user-protected folder that the agent process cannot read.

This is why I’m a bit confused by your note that you are using the same user for both the console command and TeamCity. If the same user is truly being used, then the runtime should be visible from TeamCity as well.

To verify where the runtime is actually located, please run the following command:

xcrun simctl list runtimes --json

In the JSON output, check the value of bundlePath:

If the bundlePath starts with:

/Library/Developer/CoreSimulator

→ The runtime is installed globally and should be visible to all users, including TeamCity.

If the bundlePath starts with:

/Users/{userName}/Library/...

The runtime is installed only for your local macOS user

This situation often happens because the CoreSimulatorService running during the TeamCity build has not refreshed its device list, or because the runtime simply exists only in the user-specific ~/Library path.

To ensure that TeamCity can recognize the VisionOS device type, the runtime should be installed system-wide. The most reliable way is to install it using sudo, which places the files under:

/Library/Developer/CoreSimulator...

This makes the runtime accessible to all processes and all users, including CI agents. make sure that the user running TeamCity is the same as your login user.

I’ve tested this approach on my side, and the Vision Pro device type is detected correctly in TeamCity when the runtime is installed globally. For more details please refer to the screenshot.

 

 

0

Hmm, path is ok, but for some reasons output from your command is different:
 

Locally:

…
"supportedDeviceTypes" : [
       {
         "bundlePath" : "\/Applications\/Xcode-16.1.0.app\/Contents\/Developer\/Platforms\/XROS.platform\/Library\/Developer\/CoreSimulator\/Profiles\/DeviceTypes\/Apple Vision Pro.simdevicetype",
         "name" : "Apple Vision Pro",
         "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-Vision-Pro",
         "productFamily" : "Apple Vision"
       }
     ],
     "identifier" : "com.apple.CoreSimulator.SimRuntime.xrOS-2-1",
     "platform" : "xrOS",
     "bundlePath" : "\/Library\/Developer\/CoreSimulator\/Volumes\/xrOS_22N580\/Library\/Developer\/CoreSimulator\/Profiles\/Runtimes\/xrOS 2.1.simruntime",
     "runtimeRoot" : "\/Library\/Developer\/CoreSimulator\/Volumes\/xrOS_22N580\/Library\/Developer\/CoreSimulator\/Profiles\/Runtimes\/xrOS 2.1.simruntime\/Contents\/Resources\/RuntimeRoot",
     "lastUsage" : {
       "arm64" : "2025-11-28T10:32:20Z"
     },
     "name" : "visionOS 2.1"
…

From TeamCity:

"supportedDeviceTypes" : [
  
         ],
         "identifier" : "com.apple.CoreSimulator.SimRuntime.xrOS-2-1",
         "platform" : "xrOS",
         "bundlePath" : "\/Library\/Developer\/CoreSimulator\/Volumes\/xrOS_22N580\/Library\/Developer\/CoreSimulator\/Profiles\/Runtimes\/xrOS 2.1.simruntime",
         "runtimeRoot" : "\/Library\/Developer\/CoreSimulator\/Volumes\/xrOS_22N580\/Library\/Developer\/CoreSimulator\/Profiles\/Runtimes\/xrOS 2.1.simruntime\/Contents\/Resources\/RuntimeRoot",
         "lastUsage" : {
           "arm64" : "2025-11-28T10:32:20Z"
         },
         "name" : "visionOS 2.1"

The array of supportedDevicesTypes is empty on TeamCity. Probably it needs to full reinstalled to initialize correctly.

 

 

0

Hi,

> Probably it needs to full reinstalled to initialize correctly.

You could try adding a TeamCity build step to run:

xcrun xcodebuild -downloadPlatform xrOS

This will refresh or install the platform and device profiles. After that, please re-check:

xcrun simctl list devicetypes

to verify that Apple Vision Pro is listed.

0

Please sign in to leave a comment.