일부 코드를 테스트하기 위해 새 놀이터를 만들 때마다 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는 실제로 불가능합니다 …
미리 감사합니다, 건배
답변
답변 macOS 플랫폼으로 전환
놀이터를 만들면 기본적으로 iOS 플랫폼을 선택하고 UIKit을 자동으로 가져옵니다. 그것은 항상 충돌하고 붙어있는 UIKit입니다 . (연습) 코드가 UIKit을 사용하지 않으면 MacOS 플랫폼으로 전환 할 수 있습니다 . 으로 주요 iOS 및 맥 OS 사이의 (정확하지하지만) 차이 AppKit의와 UIKit입니다.
Xcode Playground의 오른쪽 상단에서 유틸리티 표시 / 숨기기-> 파일 관리자-> 놀이터 설정-> 플랫폼-> macOS를 클릭하십시오.
답변
나는 다음을 시도했고 그것은 나를 위해 일했다 :
- 하단의 “놀이터 정지”버튼을 누르십시오
- 첫 번째 주석 행을 제거하고 import 문을 첫 번째 행으로 만드십시오. 가져올 공간이 없습니다.
- 실행 버튼을 누르십시오
답변
필자의 경우 Xcode 8.3.2는 아래 단계로 시도하면 작동합니다.
- 파일-> “Name.playground”닫기
- 파일-> 운동장 닫기
- Xcode 종료
- Xcode 다시 열기
답변
버기 시뮬레이터의 주요 프로세스는 Xcode 종료 후에도 여전히 작동합니다. 단계는 다음과 같습니다.
- Xcode를 종료하십시오.
- 죽여
com.apple.CoreSimulator.CoreSimulatorService
활동 모니터에서 프로세스; - Xcode를 시작하고 놀이터를 실행하십시오.
답변
내 경험에 의하면,
- 놀이터의 왼쪽 하단에있는 ► 화살표를 누르고 “Manually Run”을 선택하여 Swift 플레이 그라운드 새로 고침을 방지하십시오.
- Xcode 종료
- Xcode 재시작
잘 작동합니다.
답변
첫 줄의 주석을 취소했습니다. 나를 위해 해결되었습니다. Xcode를 닫았다가 다시 시작한 후에 시도하고 Activity Monitor에서 com.apple.coresimulator를 강제 종료하십시오.
답변
가져 오기 PlaygroundSupport를 추가하면 문제가 해결되었습니다. 🙂