Skip to main content
2026-08-21, 저장소 주소가 바뀌었습니다.
옛 주소는 GitHub 이 리다이렉트해 주므로 당장 깨지지는 않습니다. 다만 그 이름으로 누가 새 저장소를 만들면 리다이렉트가 끊기므로, 지금 옮겨 두시는 편이 안전합니다. → 아래 절차

두 가지를 나눠 둡니다

업그레이드 지침을 따로 두는 이유는 읽는 쪽이 사람이 아니기 때문입니다. 코딩 에이전트(MCP)가 이 파일을 받아 여러분의 코드를 직접 고칩니다. 그래서 “무엇이 바뀌었나”가 아니라 “이 코드를 이렇게 바꿔라” 형태로 쓰여 있습니다.

버전 규칙

유의적 버전을 따릅니다.
0.x 동안은 마이너 판올림에도 깨지는 변경이 들어갈 수 있습니다. 그때는 변경 이력에 Breaking 으로 표시하고, 업그레이드 지침에 고치는 방법을 함께 싣습니다.from: "0.1.0" 처럼 Up to Next Major Version 으로 고정해 두면 0.x 안에서는 자동으로 올라갑니다 — 판올림 전에 이 페이지를 확인하세요.

저장소 주소 옮기기

URL 과 package: 식별자를 함께 고칩니다.
URL 만 고치면 빌드가 깨집니다. SPM 은 패키지 식별자를 저장소 이름에서 뽑으므로, package: 를 옛 이름으로 두면 다음 에러가 납니다.
package: 에 들어갈 값은 모듈 이름(OneS1ght)이 아니라 저장소 이름(OneS1ght-iOS-SDK) 입니다.

업그레이드하는 법

MCP 를 연결했다면 그냥 물어보면 됩니다.
에이전트가 onesight_migrate 로 지침을 받아 버전 사이를 순서대로 밟으며 코드를 고칩니다. 깨지는 변경이 있으면 무엇을 왜 바꾸는지 함께 알려줍니다.
에이전트가 만든 변경은 반드시 검토하세요. 지침은 정확하지만, 여러분의 앱 구조에 맞추는 과정에서 에이전트가 판단을 섞습니다.

버전별 조치 요약

0.1.3 이하를 쓰고 있다면 지금 올리세요. 서버가 설정 자루에 정수·불리언 값을 담기 시작하면서 옛 판은 /auth/verify 응답을 읽지 못해 initialize 가 통째로 실패합니다.

0.1.12 — 로그에 등급이 생겼습니다

onDebugLogonLog등급과 글자를 함께 줍니다.
이모지로 등급을 가르던 코드가 있다면 걷어내세요. 그게 이 변경의 이유입니다 — 문구가 바뀌면 조용히 오분류됐고, 실제로 “이 층에 구역이 없다”는 정상 상태가 오류로 표시되고 있었습니다.
UwbPositioningProvider.onLognote(_:) 도 같은 모양입니다. note 는 등급 없는 형태(note("...").log)도 그대로 씁니다.

0.1.9 — initialize 가 기기 미지원으로 실패하지 않습니다

UWB 칩이 없는 기기에서도 initialize 가 성공합니다. 도면·존은 받아서 그릴 수 있고, 막히는 것은 측위뿐입니다.
initializecatch 에서 E2001·E2002 를 다루던 분기는 이제 도달하지 않습니다. 차단은 FloorSession.begin() 한 곳이 맡습니다.

자주 걸리는 것

저장소 주소만 바꾸고 .product(name:package:)package: 를 그대로 둔 경우입니다. package: "OneS1ght-iOS-SDK" 로 고치세요.
package:모듈 이름을 넣은 경우입니다. SPM 이 요구하는 값은 저장소 이름입니다 — package: "OneS1ght-iOS-SDK".
onDebugLoginitialize 앞에 붙이고 코드를 확인하세요. E5005(응답 해석 실패)라면 SDK·서버 버전 불일치입니다 — 최신 판으로 올리세요.
File → Packages → Reset Package Caches 후 다시 해석합니다. 팀 저장소라면 Package.resolved 를 커밋해 전원이 같은 판을 받게 하세요.

관련 문서

릴리즈 노트

각 판에 무엇이 바뀌었나.

코딩 에이전트 (MCP)

업그레이드를 에이전트에게 맡기려면.