Xcode 12 Beta - не удается найти среду выполнения симулятора - PullRequest
5 голосов
/ 13 июля 2020

Я установил Xcode 12 beta 2. Я попытался запустить наш проект xamarin через Jenkins на Ma c OS Catalina. Это не удается с ошибкой ниже. Когда я собрал тот же проект из Ma c Visual Studio, это удалось без каких-либо ошибок.

SplashViewController.storyboard : error :
 iOS 14.0 (14.0 - 18A5319g) - com.apple.CoreSimulator.SimRuntime.iOS-14-0 (unavailable, failed to open liblaunchsim.dylib) ==> not available:
  Error Domain=com.apple.CoreSimulator.SimError Code=401 "The iOS 14.0 simulator runtime is not available."
  UserInfo={NSLocalizedDescription=The iOS 14.0 simulator runtime is not available.,
   NSUnderlyingError=0x7fef8847b520 {Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort"
  UserInfo={NSLocalizedFailureReason=XPC error talking to SimLaunchHostService: <error: 0x7fff97d649a0> { count = 1, transaction: 0, voucher = 0x0,_

Я также сделал xcrun simctl list, чтобы просмотреть доступные имитаторы времени выполнения для Xcode 12 beta. Он показывает приведенный ниже список, но не работает при сборке.

== Время выполнения ==

iOS 14.0 (14.0 - 18A5319g) -
com.apple.CoreSimulator.SimRuntime.iOS-14-0
tvOS 14.0 (14.0 - 18J5331g) -
com.apple.CoreSimulator.SimRuntime.tvOS-14-0
watchOS 7.0 (7.0 - 18R5327h) -
com.apple.CoreSimulator.SimRuntime.watchOS-7-0

== Devices ==

Когда я открыл настройки Xcode и нажал Компоненты -> Симулятор Не вижу iOS 14 в списке:

Может ли кто-нибудь помочь мне решить эту проблему?

1 Ответ

0 голосов
/ 25 августа 2020

У меня аналогичная проблема с бета-версией Xcode 12 на Jenkins. Когда я запускаю xcrun simctl list в Терминале с пользователем jenkins, я вижу

== Runtimes ==
iOS 14.0 (14.0 - 18A5351d) - com.apple.CoreSimulator.SimRuntime.iOS-14-0
tvOS 14.0 (14.0 - 18J5364d) - com.apple.CoreSimulator.SimRuntime.tvOS-14-0
watchOS 7.0 (7.0 - 18R5361c) - com.apple.CoreSimulator.SimRuntime.watchOS-7-0

Но если я помещаю ту же команду simctl для выполнения заданием Jenkins, результат будет

== Runtimes ==
iOS 14.0 (14.0 - 18A5351d) - com.apple.CoreSimulator.SimRuntime.iOS-14-0 (unavailable, failed to open liblaunch_sim.dylib)
tvOS 14.0 (14.0 - 18J5364d) - com.apple.CoreSimulator.SimRuntime.tvOS-14-0 (unavailable, failed to open liblaunch_sim.dylib)
watchOS 7.0 (7.0 - 18R5361c) - com.apple.CoreSimulator.SimRuntime.watchOS-7-0 (unavailable, failed to open liblaunch_sim.dylib)

Хотя я не смог найти решение, я нашел обходной путь. Если я остановлю запуск Jenkins в качестве демона запуска и запускаю его вручную из Терминала, тогда бета-сборки Xcode будут работать нормально.

# Stop Jenkins
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

# Impersonate jenkins user
sudo su - jenkins

# Tell Jenkins where its home dir is located
export JENKINS_HOME=/Users/Shared/Jenkins/Home

# Start Jenkins instance
/Library/Application\ Support/Jenkins/jenkins-runner.sh

Все указанные выше пути являются путями по умолчанию. Если у вас другое, вы можете найти правильные значения в файле /Library/LaunchDaemons/org.jenkins-ci.plist

...