개인 과제인 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 안에서 빌드를 할 때 런타임을 부르나 보다. 그 불러오는 과정에서 기존에 실행되어 있던 런타임이 문제가 되었을 것이고, 해당 런타임을 강제종료함으로써 새로 실행하도록 유도한 것 같다.
아무튼, 문제를 다방면으로 생각해보길 잘했다. 앞으로도 트러블슈팅의 시야를 넓혀가자!