Xcode 设备不可用,未找到运行时配置文件

Xcode device Unavailable, runtime profile not found

在以下环境中:

Xcode 8.3.2
react-native-cli 2.0.1
react-native: 0.44.0
macOS Sierra 10.12.5

刚刚将 Xcode 和 macOS 更新为 运行 React Native 并像几天前一样继续练习......但每次我尝试 运行:

react-native run-ios

我收到错误:

Scanning 555 folders for symlinks in /Users/juangarcia/projects/react-tests/CountDown/node_modules (6ms)
Found Xcode project CountDown.xcodeproj

Could not find iPhone 6 simulator

我尝试查看可用设备列表,我得到:

~/projects/react-tests/CountDownSample » xcrun simctl list devices
== Devices ==
-- iOS 10.3 --
-- tvOS 10.2 --
    Apple TV 1080p (323FA90C-0366-4B5B-AEEE-D0477C61762A) (Shutdown)
-- watchOS 3.2 --
    Apple Watch - 38mm (F42C0C0D-325B-41DD-948D-E44B0A08B951) (Shutdown)
    Apple Watch - 42mm (75D8BAF1-27CB-47EE-9EE3-D400B962F8BC) (Shutdown)
    Apple Watch Series 2 - 38mm (64D01BD4-5C37-4885-A73A-52479D9CCF4F) (Shutdown)
    Apple Watch Series 2 - 42mm (8471C9FD-BCF3-4DDC-B386-F17E128C5EB1) (Shutdown)
-- Unavailable: com.apple.CoreSimulator.SimRuntime.iOS-9-3 --
    iPhone 4s (1FF2D0D3-F136-43A7-8148-7B1849A7B1E3) (Shutdown) (unavailable, runtime profile not found)
    iPhone 5 (859D4D90-F1B5-4DE8-B976-6984F85CAFE3) (Shutdown) (unavailable, runtime profile not found)
    iPhone 5s (5B2AD8CD-9B3F-413C-BF16-FA96F807BB2B) (Shutdown) (unavailable, runtime profile not found)
    iPhone 6 (2573D214-4371-47A8-BFF6-3341862954E0) (Shutdown) (unavailable, runtime profile not found)
    iPhone 6 Plus (8916CD9B-4D8B-463F-8583-75A2CE4F61FD) (Shutdown) (unavailable, runtime profile not found)
    iPhone 6s (41093980-7912-4F98-9D06-981A533FAAFE) (Shutdown) (unavailable, runtime profile not found)
    iPhone 6s Plus (6A85D2AE-D867-4341-979C-FEE8308DE93E) (Shutdown) (unavailable, runtime profile not found)
    iPad 2 (BFBB5477-B6D9-48C3-B529-516D2D9105A7) (Shutdown) (unavailable, runtime profile not found)
    iPad Retina (C49B5920-F4FF-4D7F-AA74-7AE2367FF09D) (Shutdown) (unavailable, runtime profile not found)
    iPad Air (4101FC8E-D8B9-4496-AD2B-1484661C15DE) (Shutdown) (unavailable, runtime profile not found)
    iPad Air 2 (9952B05C-829F-428F-AC76-EB1F8FB55D72) (Shutdown) (unavailable, runtime profile not found)
    iPad Pro (735082E2-4470-4D9A-BAA1-BEDA8426B725) (Shutdown) (unavailable, runtime profile not found)
-- Unavailable: com.apple.CoreSimulator.SimRuntime.tvOS-9-2 --
    Apple TV 1080p (AD48DE24-6295-4EFC-9787-A9B5D8118503) (Shutdown) (unavailable, runtime profile not found)
-- Unavailable: com.apple.CoreSimulator.SimRuntime.watchOS-2-2 --
    Apple Watch - 38mm (C3F2A7C3-3967-4159-9B79-13CBA63E399E) (Shutdown) (unavailable, runtime profile not found)
    Apple Watch - 42mm (656005A9-7555-4872-A7FB-FB6BCB65139C) (Shutdown) (unavailable, runtime profile not found)

react 默认需要 Iphone 6 才能使用,但它不可用

我怎样才能让它再次可用?为什么会这样?

pfff 它比预期的要简单...当安装 SO 和 Xcode 时,出于某种原因,整个设备列表被删除...去 Xcode UI菜单在这种情况下添加一个新的模拟器 iPhone 6 就足够了......我尝试重新启动并返回,等等不知道 UI 中有一个选项,因为我是新手 XCode环境。感谢您的回答。

在XCode菜单中,Window --> 设备 --> 添加新模拟器...

我去了 node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js

我已经替换了:

if (version.indexOf('iOS') !== 0 )

if (!version.includes("iOS" ))

if (simulator.availability !== '(available)')

if (simulator.isAvailable !== true)

我在 xCode 9 和 10.2 中遇到过这个问题。

对于其他遇到同样问题的人,以下是对我有帮助的内容:

  1. 关闭xCode
  2. 重新启动你的笔记本电脑(我知道这很糟糕)
  3. 打开xCode并运行再次构建

TL;DR:

使用 xcrun simctl upgrade

将不可用的模拟器升级到最新的(或所需的)iOS 运行时

详情:

我可能在执行 xcrun simctl delete unavailable 之后遇到了这种情况,同时安装了 Xcode 10 和 Xcode 11(并且 Xcode 10 当前处于活动状态)。

正在执行 xcrun simctl list runtimes 我发现列出了 iOS 13.1 运行时:

iOS 11.4 (11.4 - 15F79) - com.apple.CoreSimulator.SimRuntime.iOS-11-4
iOS 13.1 (13.1 - 17A844) - com.apple.CoreSimulator.SimRuntime.iOS-13-1
tvOS 13.0 (13.0 - 17J585) - com.apple.CoreSimulator.SimRuntime.tvOS-13-0
watchOS 6.0 (6.0 - 17R575) - com.apple.CoreSimulator.SimRuntime.watchOS-6-0

但是当我执行xcrun simctl list时,有几个模拟器被列为不可用:

    iPhone 8 Plus (B08025C1-B7A2-40C0-B6D5-517EC8BB3C45) (Shutdown) (unavailable, runtime profile not found)
    iPhone Xs (0A1C1EAA-8E18-4508-9E14-C376D944984B) (Shutdown) (unavailable, runtime profile not found)
    iPhone Xs Max (84C692F5-6CF3-449D-B166-0EA26B1FAC4B) (Shutdown) (unavailable, runtime profile not found)
    iPhone Xʀ (7581E116-5CFB-4A94-94A0-30B5B8871874) (Shutdown) (unavailable, runtime profile not found)

我的解决方案是将不可用的模拟器升级到所需的 iOS 运行时(在我的例子中是 iOS 13.1):

xcrun simctl upgrade SIMULATOR_ID "com.apple.CoreSimulator.SimRuntime.iOS-13-1"

为了避免必须为所有模拟器手动执行此操作,我编写了这个小 ruby 脚本来一次升级所有 iPhone:

#!/usr/bin/ruby

uuid_regex = /([0-9A-Z]{8}-[0-9A-Z]{4}-[0-9A-Z]{4}-[0-9A-Z]{4}-[0-9A-Z]{12})/
unavailable_iPhones = `xcrun simctl list | grep iPhone | grep "runtime profile not found"`.split("\n")
unavailable_iPhones.each do | row |
    uuid = row.match(uuid_regex).captures.first
    system("xcrun simctl upgrade #{uuid} \"com.apple.CoreSimulator.SimRuntime.iOS-13-1\"")
end

Xcode 12 beta 4 解决方法中缺少 ios14 模拟器选项:

查看这篇关于 simctl 的精彩文章。

我创建了一个 iOS14 sim,因为 XC12-beta4 没有通过以下方式给我下载/创建选项:

xcrun simctl create <name> <device> <os>

例如

xcrun simctl create iPhone-8Plus-14 com.apple.CoreSimulator.SimDeviceType.iPhone-8-Plus com.apple.CoreSimulator.SimRuntime.iOS-14-0