> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ones1ght.com/llms.txt
> Use this file to discover all available pages before exploring further.

# iOS SDK

## 0.2.6

* 백그라운드에서 돌아온 뒤 층을 못 찾던 문제(`E3007`) 수정 — 측위 엔진을 켤 때 층 비콘을 최대 10초 직접 스캔

## 0.2.5

* 측위 재개(resume) 때 엔진이 좌표를 못 내고 있으면(세션 오류 또는 5초 넘게 좌표 없음) 엔진을 다시 시작

## 0.2.4

* 측위 엔진은 앱이 화면에 있을 때만 동작하도록 변경 — 백그라운드에서 `begin()` 을 부르면 화면에 올라올 때 엔진 시작
* 백그라운드 진입·앱 종료 시 엔진 정지, 남은 층 찾기 비콘 영역 정리
* 백그라운드에서 켜진 뒤 앱을 열면 곧바로 `E3007` 로 끝나던 문제 수정
* 실시간 연결 재연결 뒤 도면이 있는 층의 구역이 지도에서 사라지던 문제 수정

## 0.2.3

* SDK 코드·동작 변경 없음(문서·코드 조각만 변경)
* MCP 코드 조각에 iOS 27.2 이상 '항상' 위치 권한 반영
* MCP 코드 조각의 설치 버전을 `from: "0.2.2"` 로 변경

## 0.2.2

* 층을 로케이터 여러 대로 판정하도록 개선(새 층 전환은 3대 이상)
* 첫 층은 1초 지켜본 뒤 확정하도록 변경
* UWB 세션이 끊기면 엔진이 스스로 다시 열도록 개선
* 연동 가이드에 [위치 항상 권한](/developers/sdk/integration/ios#위치-항상-권한) 절 추가(iOS 27.2 이상 필수)

## 0.2.1

* `SdkError.floorNotSet` 추가 — 빠짐없는 `switch` 는 케이스 추가 필요
* 건물 없이 `setFloorMap(floor)` 호출 시 `floorNotSet`(`E3001`) 발생
* 측위 키 문제를 `E1002` 대신 `E1007` 로 보고하도록 변경
* Bluetooth 미지원 기기를 `E2003` 대신 `E2002` 로 보고하도록 변경
* 백그라운드 진입 시 구역 이탈(EXIT) 전송 및 `onZoneExit` 호출
* 백그라운드 복귀 후 같은 구역 진입이 두 번 가던 문제 수정
* 구역 변경으로 엔진 재시작 시 진입이 중복 전송되던 문제 수정

## 0.2.0

* 내부 타입(`ApiClient`·`Req…`·`Res…`·`SdkDefaults` 등) 공개 해제
* `MockPositioningProvider` 제거 — `PositioningProvider` 를 직접 채택
* `permissions()` → `requestPermission()` (시스템 창을 띄움)
* `putProfile(_:_:)` → `replaceProfile(_:attributes:)` (빠진 속성은 삭제)
* `getProfile(_:)` → `fetchProfile(_:)`
* `floor(_:_:)` → `floor(buildingId:floorId:)`
* `send()` → `uploadPendingPositions()`, `empty()` → `discardPendingPositions()`
* 전체 목록은 [CHANGELOG 0.2.0](https://github.com/onecheck-inc/OneS1ght-iOS-SDK/blob/main/CHANGELOG.md#020--2026-10-02) 참고(옛 이름은 경고만)
* `FloorSession.onFloorDetected` · `onStopped` · `StopReason` 추가
* 엔진이 꺼지면 3·10·30초 뒤 재시도, 실패 시 세션 종료(`.engineFailed`)
* 일시정지가 백그라운드를 거쳐도 유지되도록 변경
* `onDebugLog` 코드 줄의 등급 세분화 및 한 줄로 통합
* `E3001`(층 미지정)을 콘솔로 올리지 않도록 변경
* 좌표 전송 중 `empty()` 호출 시 앱이 죽던 문제 수정
* `begin(provider:)` 에서 구역 콜백·일시정지가 무시되던 문제 수정
* 오프라인에서 좌표·로그 전송이 폭주하던 문제 수정
* `initialize` 전에 `identify` 하면 `begin()` 이 `E1004` 로 실패하던 문제 수정
* `baseURL` 이 건물·층·구역 조회에 적용되지 않던 문제 수정

## 0.1.24

* Bluetooth 끈 채 시작하면 측위가 돌아오지 않던 문제 수정
* `E2004`(Bluetooth 꺼짐) 추가 — 기존엔 `E2003` 으로 보고

## 0.1.23

* `end()` 직후 `begin()` 이 조용히 무시되던 문제 수정
* 이미 측위 중이라 걸러진 `begin()` 에 경고 로그 추가

## 0.1.22

* `pause()` 중에도 구역 진입·이탈 알림이 뜨던 문제 수정
* 엔진 정지 중 시작하면 세션이 도로 꺼지던 문제 수정

## 0.1.21

* 실행 중 콘솔에서 새로 그린 구역이 판정되지 않던 문제 수정
* 구역 변경 시 엔진 재시작으로 약 1.5초 좌표 끊김

## 0.1.20

* `FloorSession.pause()` · `resume()` · `isPaused` 추가

## 0.1.19

* `E2001`·`E2002` 등 계속 동작하는 상태의 로그 등급을 WARN 으로 변경
* `E3001` 문구 수정(층 없이 시작이 정상 경로)

## 0.1.18

* `initialize` 의 `geoSdkKey` 인자 제거
* `geoPartnerKey` · `geoBaseUrl` 접근자 제거
* 측위 키는 콘솔에서만 받음 — 없으면 `E1007`
* `E1005` · `E1006` 더 이상 발생하지 않음

## 0.1.17

* 최소 iOS 15 → 18, Xcode 27(iOS 27 SDK) 필요
* 측위는 iOS 27 이상에서만 동작 — 그 아래는 `osVersionTooLow`
* `Info.plist` 에 `NSBluetoothAlwaysUsageDescription` 추가 필요
* `NSLocationTemporaryUsageDescriptionDictionary`(키 `Positioning`) 추가 필요
* 앱이 층을 지정하지 않아도 엔진이 층을 찾도록 변경
* 측위 키·지도 키를 콘솔에서 받도록 변경
* SDK 가 위치 권한을 직접 요청하도록 변경
* `E1007` · `E3007` · `E3008` · `E3009` · `E4004` 등 새 코드 추가
* 구역 판정을 엔진이 맡아 콘솔 구역의 판정값(`inDist` 등)은 더 이상 쓰지 않음

## 0.1.16

* 로케이터 조회가 실패해도 도면·구역은 표시되도록 개선
* `E3006 locatorsFetchFailed` 추가

## 0.1.15

* `E3005 planMissing` 을 `I3002 planMissing`(INFO)로 변경

## 0.1.14

* 도면 없는 층에서도 측위 지원
* `Locator.isPlaced` 추가
* 도면 없으면 `Floor` 크기·원점이 0 — `hasPlan` 확인 필요

## 0.1.13

* `0.1.12` 태그의 디버그 로그 예제가 컴파일되지 않던 문제 수정

## 0.1.12

* `onDebugLog` · `onLog` 클로저 인자가 `{ level, line in }` 로 변경
* `LogLevel` 추가(`Comparable`)

## 0.1.11

* 구역을 모두 지워도 판정이 계속되던 문제 수정
* `setLanguage(_:)` 추가

## 0.1.10

* 측위가 중단됐다 돌아온 뒤 다시 시작되지 않던 문제 수정

## 0.1.9

* `initialize` 가 기기 미지원으로 실패하지 않음 — `begin()` 에서 판정
* 실시간 변경 이벤트가 도착하지 않던 문제 수정
* 층 목록 조회 시 도면 전체를 받던 문제 수정

## 0.1.8

* 측위 시작 전에도 실시간 변경 수신(`onConfigChanged`) 연결

## 0.1.7

* 층 ID 가 숫자로 오면 층 목록이 비던 문제 수정

## 0.1.6

* 연동 예제가 컴파일되지 않던 문제 수정(코드 변경 없음)

## 0.1.5

* 저장소 주소를 `onecheck-inc/OneS1ght-iOS-SDK` 로 변경
* `package:` 식별자도 `OneS1ght-iOS-SDK` 로 변경 필요

## 0.1.4

* 0.1.4 이하 초기 배포 — 내역은 [CHANGELOG](https://github.com/onecheck-inc/OneS1ght-iOS-SDK/blob/main/CHANGELOG.md) 참고
* `0.1.3` 이하는 운영 서버 초기화 실패 — `0.1.12` 이상 사용


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.