개인 과제인 Calculator.playground를 작업하면서, 사칙연산과 나머지 연산 기능을 Calculator
클래스로부터 별도의 클래스(AddOperation
, SubtractOperation
, MultiplyOperation
, DivideOperation
, ModulusOperation
)로 분리하였다. 각 연산 클래스가 Calculator 클래스 안의 인스턴스가 되도록 하여 클래스가 단일책임원칙을 충족하도록 꾀한 것이다. 테스트 실행을 해보니.. 어라? 실행이 안 되었다. 처음에는 '이거.. 클래스끼리 관계 형성하는 게 처음이니 내가 코드를 적으면서 무언가 잘못했구나!' 싶었다.
그런데 이상한 점을 발견했다. 분명 창 상단에는 Build Secceeded
라고 떠있었기 때문이다. 코드가 잘못 되어서 뜨는 평소의 오류라면 빌드가 실패했을 것이다. 그래도 일단 걱정되니 ChatGPT에게 내 코드를 주고 문제가 없는지 물어봤다. ChatGPT는 내 코드에 문제가 없다고 한다. 그 다음으로는 Xcode를 껐다 켜봤다. 하지만 똑같은 오류가 나온다. Xcode의 오류 메시지를 다시 읽어 보았다.
⚠️ Failed to launch process. The com.apple.CoreSimulator.SimRuntime.iOS-18-0 simulator runtime is not available.
오류 메시지에 runtime
이라 적혀있으니 막연하게 런타임 오류겠거니 했는데, 검색해볼 필요가 있는 것 같았다.
Google 검색 | 검색 결과: Xcode 15 beta 5 - iOS 17 Simulator runtime not available |
---|---|
![]() | ![]() |
첫번째 검색결과를 클릭하니, 나름 활성화 되어 있는 질문을 Apple Developer Forum에서 발견. 밑에 좋은 답변이 있는지 찾아보았다..
![]() |
---|
추천을 많이 받은 답변에서, 무언가 인스턴스(가 아니라 프로세스 아닌가?)를 죽이는 명령어를 쳐보라는 얘기가 있다.
터미널에 해당 명령어를 치고 Xcode를 껐다 켜봤다.
sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService
결과: 정상 작동 확인 |
---|
![]() |
다행히 잘 해결되었다! 하마터면 내 코드에 문제가 있나 하고 하루종일 삽질했을지도 모를 문제였다. Xcode를 끈 상태에서 터미널을 친 게 아니었는데.. 무사히 해결된 걸 보니 아무래도 Xcode 안에서 빌드를 할 때 런타임을 부르나 보다. 그 불러오는 과정에서 기존에 실행되어 있던 런타임이 문제가 되었을 것이고, 해당 런타임을 강제종료함으로써 새로 실행하도록 유도한 것 같다.
아무튼, 문제를 다방면으로 생각해보길 잘했다. 앞으로도 트러블슈팅의 시야를 넓혀가자!