programing

Xcode 운동장이 '달리는 운동장' 또는 '시뮬레이터 실행'에 걸려 코드가 실행되지 않습니다. 어떻게 해야 합니까?

stoneblock 2023. 5. 29. 09:17

Xcode 운동장이 '달리는 운동장' 또는 '시뮬레이터 실행'에 걸려 코드가 실행되지 않습니다. 어떻게 해야 합니까?

제가 어떤 코드를 테스트하기 위해 새로운 놀이터를 만들 때마다 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)을 실행하고 있습니다.

하드웨어:
프로 (13인치) 맥북 프로 (2012년 중반 13인치)
Core 2.5GHz Intel Core i5
램 1600MHz 램 DDR3

주위를 둘러보았지만 적어도 두 스레드 모두 답을 제공하지 않았습니다.
https://forums.developer.apple.com/thread/://forums.developer.apple.com/thread/5902
https://github.com/jas//issues/9https ://github.com/jas/playground/issues/9

제가 이미 시도했지만 전혀 성공하지 못한 것들:

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

당신은 이 문제를 어떻게 해결할 것인지에 대한 아이디어가 있습니까?저는 프로그래밍에 익숙하지 않고 열심히 스위프트를 배우려고 노력하지만 Xcode는 그것을 현실적으로 불가능하게 만들고 있습니다.

MacOS 플랫폼으로 전환

Playground를 생성하면 기본적으로 iOS 플랫폼을 선택하고 UIKit을 자동으로 가져옵니다.그것은 항상 충돌하고 고착되는 UIKit입니다.만약 당신의 (연습) 코드가 UIKit을 사용하지 않는다면, 당신은 MacOS 플랫폼으로 전환할 수 있습니다.iOS와 macOS의 주요 차이점은 APPKit와 UIKit입니다.

Xcode Playground의 오른쪽 상단에서 유틸리티 표시/숨기기--> file inspector --> Platform--> macOS를 클릭합니다.

아래 스크린샷을 참조하십시오.

저는 다음을 시도해 보았는데 효과가 있었습니다.

  1. 하단의 "놀이터 중지" 버튼을 누릅니다.
  2. 첫 번째 주석 행을 제거하고 가져오기 문을 첫 번째 행으로 만듭니다.가져오기 위에 공백이 없습니다.
  3. 실행 버튼을 누릅니다.

Xcode 8.3.2의 경우 아래와 같이 시도하면 작동합니다.

  1. 파일 -> "이름"을 닫습니다.놀이터"
  2. 파일 -> 놀이터 닫기
  3. Xcode 종료
  4. Xcode 다시 열기

Buggy Simulator의 주요 프로세스는 Xcode 종료 후에도 계속 작동합니다.단계는 다음과 같습니다.

  1. Xcode 종료;
  2. 죽여라com.apple.CoreSimulator.CoreSimulatorService in Activity 프로세스 관리
  3. Xcode를 실행하고 Playground를 실행합니다.

제 경험상, 당신은 다음과 같이 해야 합니다.

  1. Playground 왼쪽 하단에 있는 ► 화살표를 누른 상태에서 "수동으로 실행"을 선택하여 빠른 놀이터 새로 고침을 방지합니다.
  2. Xcode 종료
  3. Xcode 다시 시작

아주 잘 작동합니다.

플레이그라운드 지원 가져오기를 추가하여 문제가 해결되었습니다 :)

저는 첫 번째 줄의 코멘트를 취소했습니다.저는 해결했습니다.Xcode를 닫았다가 다시 시작한 후 Activity Monitor에서 강제로 com.apple.core 시뮬레이터를 종료하십시오.

수동 처리로 전환할 수 있습니다.그것은 나에게 효과가 있었다.스크린샷

com.apple을 죽이기 전에 작업 모니터에서 xcode를 죽여야 합니다.코어 시뮬레이터.활동 모니터의 핵심 시뮬레이터 서비스 프로세스.나는 여러 번 프로세스를 제거하려고 시도했고 xcode가 여전히 백그라운드 작업에서 실행 중이면 com.apple이라는 것을 깨달았습니다.코어 시뮬레이터.Core Simulator Service 프로세스는 방금 종료했을 때도 다시 나타납니다.

저도 같은 문제가 있었습니다. 제가 한 일은 지원 편집기를 여는 것뿐이었고 지원 편집기를 닫았을 때도 모든 것이 잘 작동합니다!왜 시행착오였는지 묻지 마세요.이것이 당신에게 도움이 되기를 바랍니다.

몇 시간 동안 이것에 대해 머리를 부딪친 후에 저는 제 놀이터를 git에 커밋하기 전에 Uikit 요소를 테스트할 수 있는 매우 중요한 줄을 실수로 삭제했다는 것을 깨달았습니다.

// Present the view controller in the Live View window
PlaygroundPage.current.liveView = MyViewController()

얼굴 손바닥.바라건대 이것이 누군가가 몇 시간 동안 머리를 뽑는 것을 도울 수 있기를 바랍니다.

저는 Xcode 10.2를 사용하고 있으며 동일한 문제를 받고 있습니다.그래서 일반적으로 온라인 스위프트 놀이터를 사용합니다.

이것은 내 목적에 부합합니다! :-)

저의 경우, 문제는 사용자에 의해 야기되었습니다.보조 편집기를 표시했지만 라이브 뷰가 선택되지 않았습니다.다음과 같은 모양인지 확인합니다.

라이브뷰

이런 식이 아닙니다.

여기에 이미지 설명 입력

문제는 My Playground가 iCloud와 동기화된다는 것이었습니다.Xcode는 몇 초마다 파일을 저장하고 "응답 없음" 상태로 이어집니다.

간단한 솔루션이 있습니다. 다음으로 이동하십시오.

시스템 기본 설정 - Apple ID - iCloud를 사용하는 이 Mac의 앱 - iCloud Drive - 옵션 - "Playground"를 선택 취소합니다.

그 작은 속임수는 얼어붙은 "런닝"을 해결하는 데 도움이 됩니다.

놀이터 동기화 방지

XCode 12.3에서도 동일한 문제가 발생합니다.

나를 위한 솔루션은 Command + Q(Xcode 다시 시작)입니다.

잠시 실행한 후 오류 메시지가 나타날 것입니다. 그러면 보기 > 메시지 영역 > 콘솔 활성화로 이동한 다음 다시 재생합니다.

iCloud 스토리지 플랜을 확인하십시오!

하나만 있으면 데스크톱 및 문서 폴더를 포함한 전체 컴퓨터를 지속적으로 동기화합니다.대신 홈 폴더(명령+shift+h)에 "로컬 파일" 폴더를 만들고 플레이그라운드 프로젝트를 iCloud와 동기화되지 않는 곳에 보관하십시오.

이것은 저에게 효과가 있었습니다.이것이 당신에게도 효과가 있기를 바랍니다! :)

제 경우처럼 함수를 정의했지만 호출하는 것을 잊었을 때도 발생합니다.

마치 이 질문에 대한 답이 충분하지 않은 것처럼, 저는 꽉 막힌 스위프트 놀이터 문제에 대한 "해결책"을 제공할 것입니다.

Xcode를 다시 시작하지 않아도 되는 유일한 솔루션:

killall launchd_sim

이로 인해 "달리는 운동장"이 회전합니다.새 실행을 트리거할 수 있습니다.주의: 다음 실행이 회전합니다.launchd_sim그리고 그 모든 아이들의 과정들이 다시 일어납니다.관련된 하위 프로세스만 죽이는 것이 가장 좋습니다.하지만 지금까지 찾지 못했습니다.

하지만 iOS 시뮬레이터를 병렬로 사용하지 않을 때만 이 작업을 수행합니다.launchd_sim프로세스는 하위 프로세스입니다.Simulator.

파생 데이터를 삭제하고 빌드 폴더를 정리했습니다.이것은 나에게 효과가 있습니다.저는 같은 기계에서 Xcode 11.2.1과 Xcode 10.1을 마주하고 있었습니다.

Xcode Playground에서 빌드 속도를 높이고 로드 아이콘이 계속 회전하지 않도록 하려면:

  1. 오른쪽 사이드바로 이동하여 변경iOS로.macOSPlayground Settings
  2. 가져오는 대신UIKit,수입품Foundation

(이것은 만약 당신이 t의 특정한 것을 사용하려고 하지 않는다면 효과가 있을 것입니다.UIKit프레임워크)

저는 이 대답을 받았습니다: Ioannis Diamantidis - Xcode Playground가 "Running"에 고착되는 것을 고치는 방법.저는 Mac Mini M1과 함께 Xcode 버전 13.2.1을 사용하고 있습니다. 오른쪽 상단 모서리에 있는 놀이터 아이콘으로 이동했습니다. Inspectors를 숨기거나 표시합니다. Platform macOs에서 Platform macOs를 선택합니다.이제 내 운동장은 완벽하게 운영되고, 나는 모든 곳에서 결과를 봅니다.

저는 같은 문제에 직면하고 있었지만, 구글링과 약간의 실험을 한 후, 저는 항상 하나가 되어야 한다는 것을 알게 되었습니다.import UIKit다른 립을 가져오기 전에.

먼저 내장된 댓글 행을 삭제합니다.

그러면 다시 첫 줄 댓글을 달아도 계속 작동합니다.여기에 이미지 설명 입력

제게 도움이 되는 마지막 팁은 iOS 시뮬레이터가 실행되지 않도록 하는 것입니다.그들은 서로 충돌합니다.

언급URL : https://stackoverflow.com/questions/39978092/xcode-playground-gets-stuck-on-running-playground-or-launching-simulator-and