xcode iOS/tvOS 操场因“无法找到所选运行目标的执行服务”而失败
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/33311116/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
iOS/tvOS playground fails with "Unable to find execution service for selected run destination"
提问by courteouselk
After migrating to XCode 7.1 I can not use playground with iOS and tvOS platforms. Only OS X works. Simplest playground code produces error message:
迁移到 XCode 7.1 后,我无法在 iOS 和 tvOS 平台上使用 Playground。只有 OS X 有效。最简单的操场代码产生错误信息:
Unable to find execution service for selected run destination
无法找到所选运行目标的执行服务
I suspect it has to do with XCode not finding the right simulator, however I have no idea where and how to configure it.
我怀疑这与 XCode 找不到合适的模拟器有关,但是我不知道在哪里以及如何配置它。
I tried playground in the existing project, as well as just newly created one from the splash screen.
我在现有项目中尝试过游乐场,以及刚从启动画面中新创建的游乐场。
Any ideas what might be wrong?
任何想法可能有什么问题?
UPDATE:
更新:
Checking console gives a bit more insight, but still not clear how to fix:
检查控制台可以提供更多信息,但仍然不清楚如何修复:
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
采纳答案by courteouselk
Ok, after some struggle, here's the solution.
好的,经过一番挣扎,这是解决方案。
- Clean up the folder
~/Library/Developer/CoreSimulator
- Restart the machine
- Try running an iOS Playground, it should work without problems now.
- 清理文件夹
~/Library/Developer/CoreSimulator
- 重启机器
- 尝试运行 iOS Playground,它现在应该可以正常工作了。
Note:In my case I renamed CoreSimulator
to CoreSimulator.old
, and after restart a new CoreSimulator
was auto-created (so, I just threw away the .old
one).
注意:在我的情况下,我重命名CoreSimulator
为CoreSimulator.old
,并在重新启动后CoreSimulator
自动创建一个新的(因此,我只是扔掉了那个.old
)。
BTW, there is a file ~/Library/Developer/CoreSimulator/Devices/device_set.plist
with whole list of Simulators under /Root/DefaultDevices
. I think this is where the problem was coming from.
顺便说一句,~/Library/Developer/CoreSimulator/Devices/device_set.plist
在/Root/DefaultDevices
. 我认为这就是问题的来源。
回答by Alexander Borisenko
There may be a faster solution:
可能有一个更快的解决方案:
Check that you have iPad Pro simulatorin your devices in Xcode. If not – add it via Add Simulator option.
在 Xcode 中检查您的设备中是否有iPad Pro 模拟器。如果没有 - 通过添加模拟器选项添加它。
As some have noted in comments, you may also need to restart Xcode or reopen the playground.
正如一些人在评论中指出的那样,您可能还需要重新启动 Xcode 或重新打开 Playground。
To add a simulator go to Devices (Window > Devices). Click the + button at the far bottom left of the window, click "Add Simulator", then select the appropriate "Device Type" from the dropdown and click "Create".
要添加模拟器,请转到设备(窗口 > 设备)。单击窗口最左下角的 + 按钮,单击“添加模拟器”,然后从下拉列表中选择适当的“设备类型”并单击“创建”。
回答by Soberman
I was able to resolve this issue with these two commands in the Terminal:
我能够在终端中使用这两个命令解决这个问题:
$ rm -rf ~/Library/Developer/CoreSimulator/Devices
$ killall -9 com.apple.CoreSimulator.CoreSimulatorService
回答by emdog4
Delete everything inside your DerivedData folder, ~/Library/Developer/Xcode/DerivedData, and then restart Xcode
删除 DerivedData 文件夹中的所有内容,~/Library/Developer/Xcode/DerivedData,然后重新启动 Xcode
回答by Subbu
Add all the simulators in xcode--> window-->devices.
在xcode--> window-->devices中添加所有模拟器。
and restart the xcode it will works fine
并重新启动 xcode 它将正常工作
回答by Jay
Xcode 8 update. Ran into a similar message
Xcode 8 更新。遇到类似的消息
"selected platform is not available"
“所选平台不可用”
With the playground open, in the upper right of the window, the last icon on the right: Hide or Show the Utilities. Click that, then in that area click the icon on the left: Show File Inspector.
打开 Playground 后,在窗口的右上角,右侧的最后一个图标:隐藏或显示实用程序。单击它,然后在该区域单击左侧的图标:显示文件检查器。
Then in the Playground Settings popup it may be set for unknown. Change it to your Platform of choice (OS X for me) then you should be good to go.
然后在 Playground Settings 弹出窗口中,它可能被设置为未知。将其更改为您选择的平台(对我来说是 OS X),然后您就可以开始使用了。