개발

· 개발
Firebase는 개인 프로젝트 뿐만 아니라 모든 프로젝트에 굉장히 큰 도움이 되는 서비스이다. 백엔드 개발자 없이도 쉽게 백엔드가 있는 서비스를 만들 수 있게 해주며, 그 외에도 Authentication이나 Cloud Messaging 등 꼭 필요하지만 개발하기 귀찮은 요소들을 많이 가지고 있다. 그 중 Functions(이전 Cloud Functions)와 Realtime Database를 이용해서 간단하지만 강력한 Push 알림을 개발 할 수 있어서, 개발해보았다. Functions 사용하기Functions의 배포 방식은 다음과 같다. 노트북 등에서 Firebase Initializing 후 Functions를 연결한다.Functions 코드를 작성하고, 그 후 Firebase에 업로드한다.잘 작..
· 개발
AWS를 사용하거나, 다양한 경우에 SSH 접속을 하게 되는 경우가 많습니다. 이 때, AWS의 인스턴스 > 연결에 들어가면 다음과 같은 명령어가 나타납니다. 다만, 매번 SSH 접속을 위해서 AWS 콘솔에 들어가는 것은 굉장히 귀찮은 일 중 하나입니다. 그리고, 만에 하나라도 여러 개의 인스턴스를 사용 중인 상황이라면 잘못 들어갔을 때 굉장히 귀찮아지기도 합니다. 이에, Mac에는 기본적으로 ssh 명령어가 있어 이를 사용하면 굉장히 편리합니다.  .ssh 폴더 생성하기우선, Terminal을 켜고, 최 상단 폴더에 /.ssh 폴더를 만듭니다.cd ~ # 최상단 폴더로 이동합니다.mkdir .ssh # .ssh 폴더를 생성합니다.  내부에 config 파일 생성 및 편집하기그 뒤에는, vim 또는 vi..
· 개발
Map에서 Annotation은 지도에 놓는 핀과 같은 요소입니다. SwiftUI에서 Mapkit을 가져오고, Annotation을 어떻게 적용하는지 알아봅시다. Mapkit 사용하기우선, MapKit을 사용하기 위해서는 초기 위치 설정이 필요합니다.import SwiftUIimport MapKitstruct MapView: View { @State private var position = MapCameraPosition.region(MKCoordinateRegion( center: CLLocationCoordinate2D(latitude: 37.5665, longitude: 126.9780), span: MKCoordinateSpan(latitudeDelta: 0.2, l..
· 개발
한국어, 영어, 일본어를 Localized한 어플리케이션을 업데이트 하려고 하는데, 로컬 알림(Local Notification)의 경우 정보가 없는 경우가 많아 골머리를 앓았다. 로컬 알림의 경우 코드 상에서만 인식되는 경우가 많은데, 이 경우에는 새로 생긴 String Catalog에 빌드를 해도 자동으로 나타나지 않기 때문이다. 이 글에서는 일반적인 String을 어떻게 String Catalog에 적용하는지 확인해보겠다.String Catalog에 인식시키는 방법이 방법은 String()으로 선언하는 방식과, LocalizedStringResource로 2가지가 있다. String(localized: "String") 사용하기let content = UNMutableNotificationConte..
· 개발
실내에서 위치를 파악할 수 있는 방법에는 여러가지가 있습니다. 그 중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: ..
· 개발
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 } } ..
· 개발
프로젝트 개발을 하다보면 Contacts(연락처)를 사용하게 되는 경우가 꽤 있다. 이를 위해서 Apple에서는 읽기에 조금 더 최적화된 Contacts라는 패키지를 제공한다. 오늘은 읽는 기능에 집중하여 Contacts의 사용법을 정리하고자 한다. 1. Privacy - Contacts Usage Description 설정 우선, Contacts를 사용하기 위해서는 Info.plist에서 해당 권한을 설정을 해야한다. 필자는 SwiftUI를 통해 개발을 진행하고 있으므로, 어플리케이션 정보 > Info로 들어가서 plist를 수정해주도록 하자. 여기서 Key 중 Privacy - Conatcts Usage Description 항목을 만들어 주면 된다. 해당 항목의 Value 값은 어째서 이 어플리케이..
Onve
'개발' 카테고리의 글 목록