잠긴 증거와 사건 새 버전 알림 만들기
다음 버전 26.10.1에 넣을 잠긴 증거와 받은 사건의 새 버전 알림을 만들고, 배포 명령이 두 번 실행되던 문제를 고친 하루를 정리합니다.

개요
오늘은 다음 버전인 26.10.1에 들어갈 기능 두 가지를 만들었습니다. 단서를 모아야 열리는 잠긴 증거와, 받은 사건이 고쳐졌을 때 알려 주는 새 버전 알림입니다. 배포 쪽에서는 Slack 명령 한 번에 빌드가 두 개 시작되던 문제를 고쳤습니다.
단서를 모아야 열리는 증거 만들기
직접 사건을 풀어 보니, 모든 증거가 처음부터 보여서 몇 개만 읽어도 답이 나왔습니다. 그래서 일부 증거를 잠가 두기로 했습니다.
| 항목 | 정한 것 |
|---|---|
| 잠긴 모습 | 사진은 강하게 흐리고, 이름은 “아직 확인되지 않은 증거” |
| 여는 방법 | 다른 증거나 진술을 확인하거나, 단서로 암호를 풀어 입력 |
| 남은 단서 수 | 보여 주지 않음 |
| 확인의 기준 | 증거는 상세 화면을, 관계자는 진술을 열었을 때 |
| 진행 저장 | 기기 안에 저장하고, 처음부터 다시 조사할 수 있음 |
편집기에서도 증거마다 잠금 조건을 정할 수 있습니다. 모든 잠금이 실제로 열릴 수 있는지는 검사 규칙이 확인해서, 막다른 길이 있는 사건은 올릴 수 없습니다.
중요: 잠긴 증거가 있는 사건은 새 파일 형식(버전 2)으로 저장합니다. 이전 버전 앱은 이 파일을 열지 않고 “앱을 업데이트해 달라”는 안내를 보여 줍니다. 잠금 없이 쉽게 풀리는 사건으로 잘못 열리는 일을 막기 위해서입니다.
TestFlight 빌드로 기기에서 직접 잠금을 열어 보고, 이전 버전 앱에서 안내가 뜨는 것까지 확인했습니다.
받은 사건의 새 버전 알리기
공공 사건기록보관소에서 받은 사건을 작성자가 고쳐도, 받은 사람은 알 방법이 없었습니다.
| 시점 | 동작 |
|---|---|
| 플레이를 시작할 때 | 서버에 최신 버전을 한 번 묻고, 새 버전이 있으면 알림을 보냅니다. 플레이는 기다리지 않습니다 |
| 알림을 누르면 | 보관소의 사건 정보가 열리고 “업데이트” 버튼이 보입니다 |
| 업데이트하면 | 원래 파일 자리에 새 버전을 받고, 해결 기록과 조사 진행은 그대로 둡니다 |
알림 권한은 사건을 받은 직후에 묻습니다. “이 사건이 고쳐지면 알려 준다”는 이유가 가장 잘 보이는 때라서입니다. 권한을 주지 않은 사람에게는 조사 화면 위에 잠깐 안내를 띄웁니다.
배포 명령이 두 번 실행되던 문제 고치기
Slack에서 배포 명령을 한 번 보냈는데 빌드가 두 개 시작됐습니다. 서버가 잠들어 있다 깨어나는 사이에 Slack의 응답 시간이 지나, 같은 명령이 다시 전송된 것으로 보였습니다.
같은 명령이 짧은 시간에 여러 번 들어와도 빌드가 한 번만 시작되게 막았습니다.
사건 제작 가이드를 AI 에이전트용 파일로 내려받게 하기
문서 사이트의 사건 제작 가이드는 사건을 만들 때 지킬 기준을 정리한 페이지입니다. 이 기준을 AI 에이전트와 사건을 만들 때 바로 쓸 수 있도록, 가이드 페이지에서 세 가지 파일로 내려받게 했습니다.
| 파일 | 쓰는 곳 |
|---|---|
| Claude 스킬 (.zip) | Claude 앱에 스킬로 올리기 |
| Claude Code 스킬 (SKILL.md) | Claude Code의 스킬 폴더에 넣기 |
| 프롬프트 (.md) | 그 밖의 AI에 붙여 넣기 |
세 파일은 기준 원본 하나에서 함께 만들어서, 가이드를 고치면 세 파일도 같은 내용으로 바뀝니다. 내려받기 영역은 Apple 개발자 튜토리얼의 머리 영역처럼 제목과 설명 바로 아래에 두었습니다.
결과와 남은 과제
| 항목 | 상태 |
|---|---|
| 잠긴 증거 | 구현과 기기 시험 완료 (26.10.1) |
| 새 버전 알림 | 구현 완료, 두 계정으로 시험 예정 |
| 배포 명령 중복 | 해결 |
| 개발 블로그 | 서비스 구조 글 공개, 그림을 눌러 크게 보기 추가 |
| 사건 제작 가이드 | 스킬 · 프롬프트 파일로 내려받기 추가 |