iOS 앱을 개발하면서 얻은 지식과 깨달음, 그 과정에서 겪은 시행착오를 공유합니다. iOS 캘린더(달력) 앱 스케줄러에는 '기본 캘린더' 기능이 있다. 애플 캘린더 등 외부 캘린더를 연동한 뒤, 연동한 캘린더에 일정 등록 시 가장 자주 쓰는 캘린더가 선택돼 있도록 하는 설정 기능이다. 이 기능은 연동 캘린더에 일정을 등록할 때 나타나는 아래 편집기의 '캘린더 선택' 부분에 사용자가 설정한 '기본 캘린더'가 선택돼 있도록 한다. 💡 경쟁 상태(Race Condition)로 발생한 문제 해결 과정 그런데 '가끔' 다른 캘린더가 선택돼 있을 때가 있었다. '가끔'이라는 표현이 중요하다. 항상 그런 게 아니었다. 대부분의 경우 정상적으로 동작했다. 어떻게 디버깅해야 할 지 감이 안 잡혔다. 가끔일지라도..