【问题标题】:iOS/tvOS playground fails with "Unable to find execution service for selected run destination"iOS/tvOS 游乐场因“无法找到所选运行目标的执行服务”而失败
【发布时间】:2016-01-23 12:11:39
【问题描述】:

迁移到 XCode 7.1 后,我无法在 iOS 和 tvOS 平台上使用 Playground。只有 OS X 有效。最简单的游乐场代码会产生错误消息:

找不到所选运行目标的执行服务

我怀疑这与 XCode 没有找到合适的模拟器有关,但是我不知道在哪里以及如何配置它。

我在现有项目中尝试了 Playground,以及刚刚从启动屏幕中新创建的一个。

有什么想法可能是错的吗?

更新:

检查控制台提供了更多信息,但仍不清楚如何修复:

24/10/2015 10:16:10,193 lsd[279]: LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist
24/10/2015 10:16:10,212 com.apple.usbmuxd[82]: LOCKDOWN_V2_BONJOUR_SERVICE_NAME is _apple-mobdev2._tcp,8de107c0
24/10/2015 10:16:10,248 Xcode[819]:  DeveloperPortal: Using pre-existing current store at URL (file:///Users/courteouselk/Library/Developer/Xcode/DeveloperPortal%207.1.db).
24/10/2015 10:16:10,381 com.apple.CoreSimulator.CoreSimulatorService[461]: Requested phone is is not available for pairing.  Assuming it has the capability.
24/10/2015 10:16:10,384 com.apple.CoreSimulator.CoreSimulatorService[461]: Requested phone is is not available for pairing.  Assuming it has the capability.
24/10/2015 10:16:12,929 com.apple.usbmuxd[82]: _SendAttachNotification Device 80:ea:96:04:a5:da@fe80::82ea:96ff:fe04:a5da._apple-mobdev2._tcp.local. has already appeared on interface 4. Suppressing duplicate attach notification.
24/10/2015 10:16:13,311 GPUToolsAgent[832]: Mac Agent inited !!!
24/10/2015 10:16:14,287 Xcode[819]: <DYMobileDevice: 0x7ffbfd6b6320>: failed to acquire service transport reservation: Error Domain=DYAMDErrorDomain Code=-402653150 "(null)"
24/10/2015 10:16:14,447 Xcode[819]: [MT] IDEPlaygroundEditor: Error encountered attempting to run playground: Error Domain=IDEPlaygroundErrorDomain Code=1 "Unable to find execution service for selected run destination." UserInfo={NSLocalizedDescription=Unable to find execution service for selected run destination.}
24/10/2015 10:16:19,672 mdworker[255]: LaunchServices: received XPC_ERROR_CONNECTION_INTERRUPTED trying to map database
24/10/2015 10:16:19,672 mdworker[255]: LaunchServices: Database mapping failed with result -10822, retrying
24/10/2015 10:16:19,672 mdworker[255]: LaunchServices: received XPC_ERROR_CONNECTION_INTERRUPTED trying to map database
24/10/2015 10:16:19,673 mdworker[255]: LaunchServices: received XPC_ERROR_CONNECTION_INTERRUPTED trying to map database
24/10/2015 10:16:19,673 mdworker[255]: LaunchServices: Database mapping failed with result -10822, retrying
24/10/2015 10:16:19,673 mdworker[255]: LaunchServices: received XPC_ERROR_CONNECTION_INTERRUPTED trying to map database
24/10/2015 10:16:19,674 mdworker[255]: LaunchServices: received XPC_ERROR_CONNECTION_INTERRUPTED trying to map database
24/10/2015 10:16:19,674 mdworker[255]: LaunchServices: Database mapping failed with result -10822, retrying
24/10/2015 10:16:19,674 mdworker[255]: LaunchServices: received XPC_ERROR_CONNECTION_INTERRUPTED trying to map database
24/10/2015 10:16:19,674 mdworker[255]: LaunchServices: received XPC_ERROR_CONNECTION_INTERRUPTED trying to map database
24/10/2015 10:16:19,674 mdworker[255]: LaunchServices: Database mapping failed with result -10822, retrying
24/10/2015 10:16:19,675 mdworker[255]: LaunchServices: received XPC_ERROR_CONNECTION_INTERRUPTED trying to map database
24/10/2015 10:16:20,497 Xcode[819]: CompanionProxy: _SocketReadCallback:128 (0x0x700000117000): Failed to receive response from AMDevice 0x7ffbfe60cad0 {UDID = e4bfce5e11be0bcf730ada45b4d6ae81f1abdb01, device ID = 23, FullServiceName = 80:ea:96:04:a5:da@fe80::82ea:96ff:fe04:a5da._apple-mobdev2._tcp.local.}: 0xe8000084
24/10/2015 10:16:20,497 Xcode[819]: CompanionProxy: _SocketReadCallback:200 (0x0x700000117000): Stopped listening for paired devices from AMDevice 0x7ffbfe60cad0 {UDID = e4bfce5e11be0bcf730ada45b4d6ae81f1abdb01, device ID = 23, FullServiceName = 80:ea:96:04:a5:da@fe80::82ea:96ff:fe04:a5da._apple-mobdev2._tcp.local.}: 0xe8000084

【问题讨论】:

    标签: swift xcode swift-playground


    【解决方案1】:

    可能有更快的解决方案:

    在 Xcode 中检查您的设备中是否有 iPad Pro 模拟器。如果没有 - 通过添加模拟器选项添加它。

    正如一些人在 cmets 中指出的那样,您可能还需要重新启动 Xcode 或重新打开 Playground。

    要添加模拟器,请转到设备(窗口 > 设备)。点击窗口最左下方的 + 按钮,点击“添加模拟器”,然后从下拉列表中选择适当的“设备类型”并点击“创建”。

    【讨论】:

    • 我不需要在 Xcode 7.1 上重新启动;刚刚在 iOS 平台下创建了一个新的 Playground,它可以工作了! (虽然显示第一个输出需要 20-30 秒)
    • @alexander-borisenko,就我自己的理解而言,您怎么知道安装该特定模拟器可以解决问题?
    • 也为我工作(无需重新启动 Xcode - 只需关闭并重新打开操场)。
    • 你救了我的命(只需要重新打开操场)
    • 我不敢相信这有帮助。真的是苹果吗??
    【解决方案2】:

    好的,经过一番努力,这就是解决方案。

    1. 清理文件夹~/Library/Developer/CoreSimulator
    2. 重启机器
    3. 尝试运行 iOS Playground,它现在应该可以正常运行了。

    注意:在我的例子中,我将CoreSimulator 重命名为CoreSimulator.old,并在重新启动后自动创建了一个新的CoreSimulator(所以,我只是扔掉了.old) .

    顺便说一句,/Root/DefaultDevices 下有一个文件 ~/Library/Developer/CoreSimulator/Devices/device_set.plist,其中包含模拟器的完整列表。我认为这就是问题所在。

    【讨论】:

    • 当 Xcode 和 iOS 模拟器没有运行时,我可以通过使用 Activity Monitor 杀死(强制退出)com.apple.CoreSimulator.CoreSimulatorService 进程而无需剧烈的“重启机器”来做到这一点.
    • 这行得通,但它也会重置并将所有模拟器都放回去。希望再次删除除当前 iPhone 之外的所有 sim 卡不会导致问题再次出现。
    • 我是这样做的,但是它不起作用,在打开操场的同时,我去了窗口>设备,并在左侧列中右键单击并以这种方式删除了模拟器。工作!!!相同的概念不同的方法。
    【解决方案3】:

    我能够在终端中使用这两个命令解决此问题:

    $ rm -rf ~/Library/Developer/CoreSimulator/Devices
    $ killall -9 com.apple.CoreSimulator.CoreSimulatorService
    

    【讨论】:

    • ???????????????????
    • 太棒了!真的很有帮助..:)
    【解决方案4】:

    删除 DerivedData 文件夹 ~/Library/Developer/Xcode/DerivedData 中的所有内容,然后重新启动 Xcode

    【讨论】:

    • 做到了。没有帮助。
    • 你很亲密,顺便说一句。要清理的文件夹是CoreSimulator,请参阅我自己的答案。
    【解决方案5】:

    在xcode--> window-->devices中添加所有模拟器。

    重启xcode就可以了

    【讨论】:

      【解决方案6】:

      Xcode 8 更新。遇到类似的消息

      “所选平台不可用”

      在 Playground 打开的情况下,在窗口的右上角,右侧的最后一个图标:隐藏或显示实用程序。单击它,然后在该区域中单击左侧的图标:显示文件检查器。

      然后在 Playground Settings 弹出窗口中,它可能被设置为未知。将其更改为您选择的平台(对我来说是 OS X),那么您应该一切顺利。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-03-22
        • 1970-01-01
        • 2019-09-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-12
        相关资源
        最近更新 更多