Xcode 놀이터가 '실행 놀이터'또는 '시작 시뮬레이터'에 붙어 코드를 실행하지 않습니다. 어떻게해야합니까?


144

일부 코드를 테스트하기 위해 새 놀이터를 만들 때마다 Xcode가 멈추고 코드가 실행되지 않습니다. 화면 상단에 '실행중인 놀이터'또는 '시작 시뮬레이터'문구가 표시되며 옆에 로딩 아이콘이 유망하게 회전하지만 아무 일도 일어나지 않습니다. 때때로 이것은 무한정 계속되고 때로는 Xcode가 멈추고 이것을 콘솔에 인쇄합니다.

Playground execution failed: error: Couldn't lookup symbols:
__swift_FORCE_LOAD_$_swiftCoreImage 
__swift_FORCE_LOAD_$_swiftFoundation 
_playground_log_hidden 
_playground_logger_initialize 
_playground_log_postprint 

thread #1: tid = 0xc0cd0, 0x000000010ea7c3c0 MyPlayground`executePlayground, queue = 'com.apple.main-thread', stop reason = breakpoint 1.2

frame #0: 0x000000010ea7c3c0 MyPlayground`executePlayground
frame #1: 0x000000010ea7b9c0 MyPlayground`__37-[XCPAppDelegate enqueueRunLoopBlock]_block_invoke + 32 
frame #2: 0x000000010f59625c CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
frame #3: 0x000000010f57b304 CoreFoundation`__CFRunLoopDoBlocks + 356
frame #4: 0x000000010f57aa75 CoreFoundation`__CFRunLoopRun + 901
frame #5: 0x000000010f57a494 CoreFoundation`CFRunLoopRunSpecific + 420
frame #6: 0x0000000114985a6f GraphicsServices`GSEventRunModal + 161
frame #7: 0x0000000110124f34 UIKit`UIApplicationMain + 159
frame #8: 0x000000010ea7b6e9 MyPlayground`main + 201
frame #9: 0x0000000112ad268d libdyld.dylib`start + 1
frame #10: 0x0000000112ad268d libdyld.dylib`start + 1

macOS Sierra 10.12에서 Xcode 8.0 (8A218a)을 실행하고 있습니다.

하드웨어 :
MacBook Pro (13 "Mid-2012)
2,5 GHz Intel Core i5
4 GB 1600 MHz Ram DDR3

나는 주위를 둘러 보았다했지만 어느 것도 이러한 스레드의 적어도 답변을 제공 한 :
https://forums.developer.apple.com/thread/5902
https://github.com/jas/playground/issues/9

내가 이미 성공하지 못한 것들 :

  • Xcode 재시작
  • Xcode 재설치 (7.3으로 다운 그레이드되었지만 8.0으로 업그레이드하는 데 도움이되지 않았으므로)
  • 기계 재시작
  • 새로운 놀이터 만들기

이 문제를 해결하는 방법에 대한 아이디어가 있습니까? 나는 프로그래밍에 익숙하지 않고 Swift를 열심히 배우려고 노력하고 있지만 Xcode는 실제로 불가능합니다 ...

미리 감사합니다, 건배


빠른 답변 감사합니다. 실제로 Treehouse.com에 적극적으로 가입했기 때문에 놀이터를 사용하고 있으며 새로운 개념을 테스트 할 때 놀이터 사용을 권장합니다.
Emil Osvald

1
이해 합니다만, 제 생각은 "열심히 Swift를 배우려고 노력하고있다"는 것입니다. 새로운 앱 프로젝트를 만들어 실행할 수 있다면 계속 진행할 수 있습니다. 이제 앱 프로젝트를 실행할 수 없다면 더 깊은 문제가 있습니다. :)
matt

확실히 맞습니다. 입력 매트에 감사드립니다. 더 나은 해결책이 없다면 제안한대로하겠습니다. 그럼에도 불구하고 누군가가 해결책을 찾은 경우 에도이 스레드를 계속 활성 상태로 유지합니다.
Emil Osvald

2
@EmilOsvald, 여기에 조언이 없습니다. 이 문제가 MacBook에서도 자주 발생한다는 사실을보고 할 수 있습니다 (iMac을 사용할 때 항상 최신 업데이트가 적용되는 모든 새로운 컴퓨터도 발생 함). 운동장을 사용하고 싶다고 잘못 생각해서는 안됩니다. 이론적으로 그들은 훌륭한 제품이며 그들이 일할 때 있습니다.
Ilias Karim

1
첫 번째 주석 앞에 공백이 없어야하고 (첫 번째 텍스트 행이 주석 인 경우) 빈 행이 첫 번째 행으로 없어야합니다. 알려주세요.
Daniel Springer

답변:


191

답변 macOS 플랫폼으로 전환

놀이터를 만들면 기본적으로 iOS 플랫폼을 선택하고 UIKit을 자동으로 가져옵니다. 그것은 항상 충돌하고 붙어있는 UIKit입니다 . (연습) 코드가 UIKit을 사용하지 않으면 MacOS 플랫폼으로 전환 할 수 있습니다 . 으로 주요 iOS 및 맥 OS 사이의 (정확하지하지만) 차이 AppKit의와 UIKit입니다.

Xcode Playground의 오른쪽 상단에서 유틸리티 표시 / 숨기기-> 파일 관리자-> 놀이터 설정-> 플랫폼-> macOS를 클릭하십시오.

아래의 스크린 샷을 참조하십시오. 여기에 이미지 설명을 입력하십시오


4
이것은 놀이터 실행 버튼을 수동으로 설정하는 것과 함께 나를 위해 작동하는 것 같았습니다. 그들이이 문제를 해결해
줄 수 있을까요

2
감사합니다. Foundation을 사용할 때 정확히 필요한 것입니다. 나는 놀이터에 많은 버그가 있다고 믿을 수 없다 ...
Adrien Yvon

15
어리석은. 3 줄의 코드 (둘 중 UIKit을 가져 오지 않음)와 나는 이것을 구글해야합니다. 많은 사람들이 Swift를 포기하고 쓸모가 없다고 선언했습니다.
제임스 베드포드

4
이것은 나를 위해 작동하지 않습니다. Xcode 9.4.1 (베타 아님)을 사용하고 있으며 Xcode를 계속 다시 시작해야합니다. 꽤 절름발이 ...
마이클 로저스

1
또한 놀이터가 충분히 커지면 Cmd + Shift + Enter가 작동을 멈 춥니 다. 도대체 누가이 쓰레기를 프로그래밍 했습니까? iPad에서 운동장을 사용하는 어린이?
Robo Robok

70

나는 다음을 시도했고 그것은 나를 위해 일했다 :

  1. 하단의 "놀이터 정지"버튼을 누르십시오
  2. 첫 번째 주석 행을 제거하고 import 문을 첫 번째 행으로 만드십시오. 가져올 공간이 없습니다.
  3. 실행 버튼을 누르십시오

1
주석 앞에 공백이 없어야한다는 것을 알았습니다. 그러나 첫 줄로 주석을 가질 있습니다. 그 앞에 빈 줄이나 들여 쓰기가 없습니다.
Daniel Springer

3
Xcode를 다시 시작해야한다고 덧붙였습니다. 그것은 나를 위해 일하는 것 같습니다.
jeb_is_a_mess 2016 년

26
나를 위해 일했다. 이 버그가 얼마나 우스운 지 믿을 수 없습니다. 애플은 부끄러워해야한다.
gangelo

1
xcode를 다시 시작하는 것이 나를 위해 일한 유일한 것
George Filippakos

1
대박. xcode를 종료하고 파생 데이터 등을 지우려고했지만이 외에는 아무것도 작동하지 않았습니다. 이미 첫 줄에 수입품이 있었지만!
Shivam Pokhriyal

58

필자의 경우 Xcode 8.3.2는 아래 단계로 시도하면 작동합니다.

  1. 파일-> "Name.playground"닫기
  2. 파일-> 운동장 닫기
  3. Xcode 종료
  4. Xcode 다시 열기

2
나 외에 무언가를 제공하면서 현대 XCode를 사용하는 사람은이 실패의 근본 원인에 대한 통찰력을 가지고 있습니까? 이것은 최고의 비 침습적 해결 방법으로 판명되었지만 문제 해결이 부족한 솔루션은 고려하지 않을 것입니다. 놀이터 헤더의 의견에 실제로 문제가 있습니까? 그리고 애플은 그 원인에 관해 무엇을 말합니까?
truedat101

이것은 내 인쇄 진술 전에 빈 줄을 제거하는 것과 함께 나를 위해 일했습니다.
FromTheStix

2
예, IDE 문제를 해결 해야하는 끔찍한 방법입니다.
PruitIgoe 2016 년

동의합니다, 이것은 매우 절름발이입니다.
Ilias Karim

51

버기 시뮬레이터의 주요 프로세스는 Xcode 종료 후에도 여전히 작동합니다. 단계는 다음과 같습니다.

  1. Xcode를 종료하십시오.
  2. 죽여 com.apple.CoreSimulator.CoreSimulatorService활동 모니터에서 프로세스;
  3. Xcode를 시작하고 놀이터를 실행하십시오.

1
나는이 답변이 다른 답변보다 더
craft

1
매번이 작업을 수행해야합니까?
Vaibhav Saran

20

내 경험에 의하면,

  1. 놀이터의 왼쪽 하단에있는 ► 화살표를 누르고 "Manually Run"을 선택하여 Swift 플레이 그라운드 새로 고침을 방지하십시오.
  2. Xcode 종료
  3. Xcode 재시작

잘 작동합니다.


4
그러나 코드가 작성된대로 Playground의 요점이 아닌가?
saphryn

16

첫 줄의 주석을 취소했습니다. 나를 위해 해결되었습니다. Xcode를 닫았다가 다시 시작한 후에 시도하고 Activity Monitor에서 com.apple.coresimulator를 강제 종료하십시오.


1
XCode 8.2.1에서 이것은 나를 위해 일했습니다. 운동장에 대한 첫 번째 줄 설명을 삭제하면 빠르게 실행되었습니다. 시뮬레이터를 강제 종료하지 않아도됩니다.
jessi

@Fiveagle의 답변에 감사드립니다. 실제로 코어 시뮬레이터 프로세스를 강제 종료하려면 첫 번째 행을 제거하여 "UIKit 가져 오기"가 첫 번째 행이되게하십시오. 그리고 XCode를 다시 시작하면 트릭이 발생했지만 첫 번째 컴파일에는 시간이 걸렸습니다.
yves Baumes

13

가져 오기 PlaygroundSupport를 추가하면 문제가 해결되었습니다. :)


2
흥미 롭군 어디서 구했습니까?
Daniel Springer

그것이 당신이 말하는 것처럼 효과적이라면, 개발자는 기본적으로 포함 된 것으로 생각할 것입니다. 나는 이것을 실험 할 것이다. 감사!
saphryn

6

수동 처리로 전환 할 수 있습니다. 그것은 나를 위해 일했다. 스크린 샷


3

활동 모니터 에서 com.apple.CoreSimulator.CoreSimulatorService 프로세스를 종료하기 전에 활동 모니터에서 xcode를 종료하십시오 . 프로세스를 여러 번 죽이려고 시도했지만 xcode가 백그라운드 활동에서 여전히 실행 중이 면 방금 종료했을 때도 com.apple.CoreSimulator.CoreSimulatorService 프로세스가 다시 나타납니다.


2

나는 같은 문제를 겪었습니다. 내가 한 일은 Assistance editor를 여는 것 뿐이며 Assistance editor를 닫았을 때도 모든 것이 잘 작동합니다! 왜 시행 착오인지 묻지 마십시오. 희망이 당신을 도울 것입니다


실제로 좋은 생각입니다. 재생 / 정지 버튼이 프로세스를 방해하지 않거나 새로 고침을 강요하지 않으므로, 보조 편집기를 재생 버튼 lol 대신 사용할 수 있도록 전환 할 수 있습니다. 대박 :)).
saphryn

0

잠시 동안 실행 한 후에 오류 메시지가 표시되면보기> 디버그 영역> 콘솔 활성화로 이동 한 다음 다시 재생하여 나를 위해 일했습니다.


1
몇시입니까? 5 분? 하루?
Daniel Springer

아마도 5-15 분 사이,
아마도이

0

iCloud 저장 공간 요금제를 확인하십시오!

계정이 있으면 데스크톱 및 문서 폴더가 포함 된 전체 컴퓨터를 지속적으로 동기화합니다. 대신 홈 폴더 (command + shift + h)에 "로컬 파일"폴더를 만들어서 iCloud와 동기화되지 않는 놀이터 프로젝트를 그곳에 보관하십시오.

이것은 나를 위해 일했습니다. 나는 이것이 당신에게도 효과가 있기를 바랍니다! :)


이것은 실제로 나를 위해 일했습니다. 이 문제가있는 다른 사람은 실제로 시도해야합니다.
피터 Schorn


0

제 경우에는 문제가 사용자에 의해 유발되었습니다. 보조 편집자가 표시되었지만 라이브 뷰가 선택되지 않았습니다. 다음과 같은지 확인하십시오.

라이브 뷰

그리고 이것처럼 :

여기에 이미지 설명을 입력하십시오


0

내 경우와 같이 함수를 정의했지만 호출하는 것을 잊었을 때도 발생합니다.


0

이 질문에 충분한 답변이없는 것처럼, 나는 Swift 운동장 문제에 대한 "솔루션"을 제공 할 것입니다.

내가 찾은 하나의 솔루션은 나에게 잘 작동합니다 (그래서 Xcode를 다시 시작할 필요가 없습니다).

killall launchd_sim

회전하는 "Running Playground ..."가 사라지고 새로운 실행을 트리거 할 수 있습니다. 다음 실행이 시작 launchd_sim되고 모든 하위 프로세스가 다시 시작됩니다. 관련 자식 프로세스 만 종료하는 것이 가장 좋습니다. 그러나 나는 지금까지 그것을 찾지 못했습니다.

그러나 launchd_sim프로세스는의 하위 프로세스이므로 iOS 시뮬레이터를 병렬로 사용하지 않는 경우에만이 작업을 수행합니다 Simulator.


0

파생 데이터를 삭제하고 빌드 폴더를 정리했습니다. 이것은 나를 위해 작동합니다. 같은 컴퓨터에서 Xcode 11.2.1 및 Xcode 10.1을 사용하고있었습니다.


-1

나는 같은 문제에 직면했지만 인터넷 검색과 약간의 실험을 한 후에 import UIKit다른 라이브러리를 가져 오기 전에 항상 하나를 찾아야한다는 것을 알았습니다 .


-1

먼저 내장 주석 행을 삭제하십시오.

그런 다음 첫 줄 주석을 다시 넣더라도 여전히 작동합니다. 여기에 이미지 설명을 입력하십시오


-1

나에게 맞는 마지막 팁 : iOS 시뮬레이터가 실행되고 있지 않은지 확인하십시오. 그들은 서로 충돌합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.