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

Posted

技术标签:

【中文标题】Xcode 设备不可用,未找到运行时配置文件【英文标题】:Xcode device Unavailable, runtime profile not found 【发布时间】:2017-05-25 12:15:56 【问题描述】:

在以下环境中:

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 才能使用,但它不可用

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

【问题讨论】:

您能检查一下系统中是否有iPhone6模拟器吗?我有同样的问题。但是我重新启动系统,它会为我工作。 它们是否显示在 Xcode 中?运行按钮的右侧。 【参考方案1】:

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

对于其他遇到同样问题的人,这对我有帮助:

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

【讨论】:

我在更新到 Xcode 12 后遇到了这个问题,退出 Xcode 并且模拟器修复了这个问题。【参考方案2】:

TL;DR:

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

详情:

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

执行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

【讨论】:

等等,你把所有模拟器的os版本都升级到iOS 13.1了吗? 不,只有那些被列为“不可用”的...【参考方案3】:

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

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

【讨论】:

【参考方案4】:

我去了 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)

【讨论】:

【参考方案5】:

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

【讨论】:

以上是关于Xcode 设备不可用,未找到运行时配置文件的主要内容,如果未能解决你的问题,请参考以下文章

提交到 App Store 时,未找到 WatchKit 扩展的匹配配置文件

代码签名错误 - XCode 中不提供配置文件

Cordova iOS - 未找到新的 Xcode 配置/CDVViewController.h

未找到有效的配置文件但有匹配项

未找到 xcode 13 可执行文件

应用程序崩溃后未填充 xCode 设备日志