beacon


beacon는 4.2.8 버전 이상 부터 제공되며 해당 라이브러리를 추가하여 사용해야 된다.

beacon은 비콘 정보를 검색한다.
확장 프레임워크 파일을 추가하여 사용할 수 있으며 추가 방법은 iOS 개발 가이드 의 내용을 참조한다.


startScan

주변의 beacon 신호 정보를 검색하는 기능이며 호출 방법은 다음과 같다.

Options

필드필드설명비고M/O
scanId 스캔 아이디문자열M
filter 스캔 필터 M
uuid비콘 고유 ID16bytes
32개의 16진수로 표현되며, 총 36개문자(32개 문자와 4개의 하이픈)으로 구성
M
major비콘 major 번호2bytes (165535의 정수)O
minor비콘 minor 번호2bytes (165535의 정수)O
    

Example

let filter = [
   "uuid": "e2c56db5-dffb-48d2-b060-d0f5a71096e0",
   "major": NSNumber(value: 40001),
   "minor": NSNumber(value: 42719)
]
DAPBeacon.startScan("scanId", filter: filter, completion: { resultDict in
   // TODO
}, failure: { error in
   // TODO
})
NSDictionary *filter = @{ @"uuid" : @"e2c56db5-dffb-48d2-b060-d0f5a71096e0",
                         @"major" : @40001,
                         @"minor" : @42719 };
[DAPBeacon startScan:@"scanId" filter:filter completion:^(NSDictionary *resultDict) {
   // TODO
} failure:^(NSError *error) {
   // TODO
}];

stopScan

beacon 신호 정보를 검색을 종료하는 기능이며 호출 방법은 다음과 같다.

options

필드설명비고M/O
scanId스캔 아이디startScan 에서 생성한 scanId 를 사용M
    

Example

DAPBeacon.stopScan("scanId", completion: { resultDict in
   // TODO
}, failure: { error in
   // TODO
})
[DAPBeacon stopScan:@"scanId" completion:^(NSDictionary *resultDict) {
   // TODO
} failure:^(NSError *error) {
   // TODO
}];

Error Code

CodeCauseComment
E12700파라메터 값이 잘못되어 있을 경우 
E12701전달된 액션 값이 알 수 없는 액션일 경우 
E12702scan 아이디 값이 없거나 nil 인 경우 
E12703비콘 고유 ID 값이 UUID 형식에 맞지않는 경우  
E12704비콘 major 번호가 1 ~ 65535 사이의 정수값이 아닌 경우 
E12705비콘 minor 번호가 1 ~ 65535 사이의 정수값이 아닌 경우 
E12750실행 중 오류가 발생 되었을 경우 
E12751블루투스 설정이 비활성화 되어있는 경우 
E12752startScan 요청 시 scan 아이디 값이 존재하는 경우 
E12753stopScan 요청 시 scan 아이디 값을 찾을 수 없는 경우 
E12754비콘 정보를 얻기위한 서비스가 지원하지 않는 경우 
E12799알 수없는 오류가 발생 되었을 경우