실내에서 위치를 파악할 수 있는 방법에는 여러가지가 있습니다. 그 중iBeacon을 사용하는 것은 굉장히 간단합니다.최근, 프로젝트 개발을 위하여 SwiftUI를 기반으로 iBeacon을 사용하게 되었습니다. iBeacon은 Bluetooth를 기반으로 거리 정보 등을 제공하는 방식으로, 말 그대로 비콘이며, iPhone은 이 Beacon을 감지할 수도, 자신이 그 Beacon이 될 수도 있습니다. About iBeaconiBeacon은 Apple에서 발표한 저전력 블루투스(BLE) 기반의 근거리 통신 방식입니다. 이 때 iBeacon은 다음의 값들만 가집니다.class iBeacon { var uuid: UUID var major: Int var minor: Int var identifier: ..
swift
MileTodo라는 iOS 투두 어플리케이션을 출시하였다. 영어, 중국어(간체), 베트남어로도 출시하려고 하는데, iOS 15부터는 String Catalog를 통해 Localization을 진행하여야 했다. 굉장히 간편하게 Localization이 가능하기 때문에, 앞으로도 String Catalog를 많이 사용하게 될 것 같아 정리해둔다. Localization할 언어 선택하기 앱 설정에 들어가서 Target -> Localization 항목의 + 버튼을 누르면 원하는 언어를 추가할 수 있다. String Catalog 생성하기 String Catalog를 생성하는 방법은 이전의 String파일 생성과 동일하다. String Catalog를 생성하면 이름이 자동으로 Localizable로 생성되니, ..
Swift로 로컬 푸시 알림을 구현하는 중에 문제가 발생했다. 알림을 매주 특정 요일에 반복하게 하기 위해서 다음과 같은 코드를 작성했었다. func makeTriggerForNoti(hour: Int, minute: Int, dayidx: Int) -> UNCalendarNotificationTrigger { var tTimeInt = hour * 60 + minute let tDuringInt = Int(sleepTime)/60 var dateInt = dayidx print(tTimeInt, tDuringInt) tTimeInt -= tDuringInt if tTimeInt < 0 { tTimeInt += 1440 dateInt -= 1 if dateInt < 0 { dateInt += 7 } } ..