runningMode 기준 vs startOrigin 기준

아이폰이 startWatchApp으로 워치를 실행시킨 뒤, 워치에서 종료 버튼을 누르는 상황

BEFORE - runningMode 기준
아이폰
상태러닝 중
워치
startOrigin-
runningMode-
대기 중
AFTER - startOrigin 기준
아이폰
상태러닝 중
워치
startOrigin-
runningMode-
대기 중
runningModestartMirroringToCompanionDevice()가 성공했을 때만 .mirrored로 바뀐다. retrieveRemoteSession()을 끈 뒤로는 아이폰에 그 핸드셰이크를 받아줄 리스너가 없어서 이 호출이 실패하고, runningMode는 계속 .standalone으로 남는다. 반면 startOriginAppDelegate.handle()에서 이 핸드셰이크 성공 여부와 무관하게 항상 먼저 세팅되고, stopWorkout()도 이 값을 안 건드려서 종료 시점까지 그대로 남아있다.