안녕하세요
카카오 맵을 ios 네이티브 앱에서 sdk를 이용하여 호출하고 활용하는 것까지는 성공하였는데
맵이 표시되는 화면에서 이전 메인 화면으로 복귀 시 계속
[I][K3fCore] Engine{1712905321} released.
[I][KMSDK] [MTLMapContainer(6f75bcf8)] dealloc
[I][K3fCore] Engine{1712905321} destroyed
libc++abi: Pure virtual function called!
의 로그와 함꼐 앱이 종료 됩니다.
혹시나 싶어 coordinator.onDisappear()를 호출해 보았으나 동일하기에 문의 드립니다.
참고로 작업 환경은 SwiftUI에 NavigationStack을 사용하여 화면 이동 시키고 있습니다
@elandor
문제 확인 및 안내를 위해서는 어떤 상황에서 어떤 SDK 함수를 호출하셨고 언제 에러가 발생했는지에 대한 구체적인 정보가 필요합니다.
@elandor
올려주신 코드만으로는 특별히 이상한 점을 발견하지 못했습니다. 일반적으로 말씀하신 오류는 해제된 객체의 함수를 Interface를 통해 실행하려고 할 때 발생합니다. 뷰가 삭제된 후에 함수가 실행되지 않는지, draw 상태 전환이 제대로 되고 있는지 확인해 보셔야 할 것 같습니다.
자답입니다.
카카오 맵을 SwiftUI로 진행 소스 부분에서
static func dismantleUIView(_ uiView: KMViewContainer, coordinator: KakaoMapCoordinator)
함수 내에 coordinator를 이용한
controller?.pauseEngine()
controller?.resetEngine()
가 추가 되어야 합니다. 그러면 오류가 나지 않네요
위에 답변 주신 @vectordev 과 개발자 분들은 꼭 해당 내용 제대로 확인하시어 문서에 설명과 함꼐 추가하여 주시면 좋겠습니다.