컴포즈 멀티플랫폼 개발 환경을 설정하고 Kotlin Multiplatform Wizard를 통해서 새 프로젝트를 생성했다. 멀티플랫폼이니 iOS도 함께 실행해 보고 싶었다. 안드로이드는 별문제 없이 실행되었는데 iOS는 또 말썽이다. (예전에 플러터에서도 iOS 빌드는 바로 되지 않았다. 그렇다 나는 iOS 알못이다.) 빌드를 하니 시뮬레이터 초기화에 실패했다는 에러가 발생했다.
코파일럿, 제미나이가 주는 답변은 소용이 없었다. 구글링을 해도 정확하게 일치하는 상황은 찾지 못했지만 우연히 고칠 수 있었다. 행여나 같은 문제로 고통받는 누군가에게 도움이 될까 하여 기록해 둔다. 참고로 나는 컴포즈 알못 + 코틀린 멀티플랫폼 알못 = 컴포즈 멀티플랫폼 알못이다.
문제 상황
1) Xcode 설치
2) kdoctor로 Xcode 정상 인식 확인
[✓] Xcode
3) Android Studio - iosApp - Execution target에 시뮬레이터 목록 선택 가능
해당 목록은 Xcode - Window - Devices and Simulators - Simulators에 있는 목록과 일치
4) 시뮬레이터 선택 후 실행하면 아래 에러 발생 (왜 같은 에러가 2번이나...)
Failed to initialize simulator device set.
Failed to subscribe to notifications from CoreSimulatorService.
Failed to initialize simulator device set.
Failed to subscribe to notifications from CoreSimulatorService.
5) Xcode에서 시뮬레이터 추가 후 추가된 시뮬레이터 삭제하니 Execution target에 시뮬레이터 목록이 아무것도 나타나지 않음
6) 멘붕(?)
해결 방법
1) Xcode - Window - Devices and Simulators - Simulators에서 새로운 시뮬레이터 하나 추가
2) 추가한 시뮬레이터가 Android Studio - iosApp - Execution target에 나타남
3) 시뮬레이터를 선택 후 실행하면~ 된다!
물론 이것은 동작 가능하게 한 것이지 근본적인 해결 방법은 아니라고 생각한다. 왜 처음엔 Xcode에 있는 시뮬레이터가 IDE 내에 모두 표기되었으며, 해당 시뮬레이터로는 왜 실행이 되지 않는지에 대한 답을 얻은 것은 아니기 때문이다. (버그가 아닐까?) 이 문제점이 내 코드였으면 그것까지 꼭 알아내야 되겠지만, 이건 다른 문제라고 생각한다.