iOS/Swift
-
Google Maps SDK for iOS 정리iOS/Swift 2022. 1. 22. 21:03
안녕하세요!! 이번엔 Swift에서 Google Maps SDK를 사용할 때 어떤 기능이 있는지 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 지도를 사용하는 앱을 출시하기 위해 어떤 지도를 사용할지 고민했다. 국내에서만 사용할 것이라면 카카오나 네이버의 지도를 사용하면 되지만, 내가 생각하고 있는 앱은 해외 여행까지 기록해야 하기에 Apple Map이나 Google Map중에 하나를 선택해야했다. Apple Map이 해외에선 좋지만 국내에서의 평은 그다지 좋지 않기에 국내, 해외 모두 평이 무난한 Google Map을 사용하여 앱을 만들기로 했다. 이 페이지는 앱을 만들기 위해 내가 사용할 레퍼런스들을 정리한 것이다. 지도 내 위치 버튼 mapView.settings.myLo..
-
앱에 데이터 백업, 복구 기능 추가하기(Swift)iOS/Swift 2022. 1. 22. 21:00
안녕하세요!! 이번엔 Swift에서 앱에 데이터 백업, 복구 기능을 어떻게 추가하는지 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 백업기능이 왜 필요해?? 사용자가 앱을 이용할 때, 사용자의 데이터는 iOS의 Container System에 의해 그 앱의 샌드박스 내에서만 이용 가능하다. 즉, 사용자가 다른 사람들과 데이터를 공유할 수 없고, 만약 어떤 이유로든 앱을 삭제해야 할 경우에는 데이터가 같이 사라져 버리는 문제가 있다. 따라서, 사용자가 원할 때 데이터를 외부로 백업할 수 있는 기능이 필요하다. iCloud를 이용한 백업, Google Drive를 이용한 백업, 파일 앱을 이용한 백업 등 백업 기능을 구현하기 위한 방법이 많지만, 파일 앱을 이용한 백업으로 백업 기..
-
Realm-cocoa 라이브러리 활용해보기(Swift)iOS/Swift 2022. 1. 22. 20:50
안녕하세요!! 이번엔 Swift에서 realm을 사용하는 방법에 대해서 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 Realm이란? 오픈소스 데이터베이스 관리 시스템(DBMS)으로, 모바일 환경을 주 타겟으로 잡은 데이터베이스 라이브러리다. 왜 써야 하는데?? 서버와 통신하지 않고 데이터를 저장해둘 필요가 있을 때, 그동안은 UserDefaults를 이용해왔다. UserDefaults에는 사용자 기본 설정같은 가벼운 데이터만 저장하고 많은 양의 데이터를 저장하기엔 적합하지 않다는 말들을 들어왔다. 왜 그런지 검색을 해보면 UserDefaults에 담을 수 있는 용량에 제한이 있기도 하고, 대용량의 데이터를 처리할 때에는 UserDefaults가 다른 데이터베이스들보다 느려서 ..
-
TableViewCell 내부의 UIView에서 Gesture로 이벤트 처리하기iOS/Swift 2022. 1. 22. 20:42
안녕하세요!! 이번엔 테이블 뷰 셀 안에서 UIView를 클릭했을 때 이벤트를 처리하는 방법을 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 저번에는 Delegate 패턴을 사용하여 TableViewCell 내부의 UIButton에 대한 이벤트를 처리했었다. Delegate 패턴을 이용하여 TableViewCell 내부의 버튼 이벤트 처리하기 안녕하세요!! 이번엔 Delegate 패턴을 이용해서 TableViewCell의 버튼 이벤트를 처리하는 방법을 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 Delegate 패턴이란? Deleg makemakeway.tistory.com 그런데 UIView에는 UIButton의 addTarget처럼 이벤트를 처리..
-
Swift SocketIO를 활용한 실시간 채팅 앱 구현iOS/Swift 2022. 1. 15. 21:00
안녕하세요!! 이번엔 SocketIO를 이용해서 실시간 채팅을 구현하는 방법을 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 평소에 메세지 앱을 한번 구현해보고 싶었지만, 뭔가 서버에 연결하는 과정이 필요할 것 같아서 미루고 있다가 SeSAC 과정을 통해서 구현해 볼 수 있는 기회가 생겼다!!🤩 먼저 UI구성에 대해서 생각해본 것은 테이블 뷰가 있고, 내 메세지를 표시할 셀과 상대방들의 메세지를 표시할 셀 두가지가 필요하다고 생각했다. 그리고 메세지를 보여줄 테이블 뷰 아래에 TextField를 둬서 사용자가 원하는 메세지를 보낼 수 있도록 처리했다. UI는 모두 코드로 작성했고, Snapkit 라이브러리를 사용해서 Constraints를 잡아줬다. Http 통신을 위한 라이브..
-
Swift Localization 처리하기(로컬라이징, 현지화)iOS/Swift 2022. 1. 14. 22:47
안녕하세요!! 이번엔 Swift에서 다국어 처리하는 방법을 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 Localization 안녕하세요!! 이번엔 Swift에서 Localization에 대해서 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 Localization이란? 언어, 문화권이 다른 환경에서 앱을 사용할 수 있도 makemakeway.tistory.com Localization에 대해서 간략하게 정리해둔 글입니다. Localization 설정하기 Localization을 설정하기 위해 프로젝트를 만들고 스토리보드에 Label을 추가해줬다. Localization을 따로 설정하지 않으면, 이 Label들은 국가에 상관없이 정해진 글자만 출력한다..
-
Swift 위치정보를 받아서 행정구역 단위로 나타내기(역 지오코딩, reverse geocoding)iOS/Swift 2022. 1. 13. 02:33
안녕하세요!! 이번엔 역 지오코딩을 구현하는 방법을 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 mkMapView를 공부하면서 위치정보를 나타내는 것에 대해 작성해보려고 한다. 먼저, 사용자의 위치정보를 받아오려면 위치정보에 대한 권한을 요청해야한다. Info.Plist에 위치와 관련된 속성들이 있다. Privacy - Location When In Use Usage DescriptioniOS 앱이 foreground에서 실행 중일 때에만 위치 정보에 액세스하는 경우 사용한다. iOS 11 이상에서 사용 가능하다. Privacy - Location Always and When In Use Usage DescriptioniOS 앱이 background에서 실행되는 동안 위치 정..
-
Delegate 패턴을 이용하여 TableViewCell 내부의 버튼 이벤트 처리하기iOS/Swift 2022. 1. 13. 02:19
안녕하세요!! 이번엔 Delegate 패턴을 이용해서 TableViewCell의 버튼 이벤트를 처리하는 방법을 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 Delegate 패턴이란? Delegate는 한국어로 대리자, 위임자.... 라는 의미를 가지고 있다. 그렇다면 어떤 일을 대리하고, 위임하는 것일까?? 객체지향 프로그래밍에서 Delegate라는 것은 어떤 객체가 해야 하는 일을 부분적으로 대신 처리를 하는 것을 말한다. 예시 UITableView의 셀을 눌렀을 때 호출하는 기능은 TableViewDelegate에서 처리를 할 수 있지만, 셀 내부의 특정 버튼에 대한 이벤트를 처리할 수 없다. 이런 경우에는 커스텀 Delegate를 만들어서 처리해야한다. 위와 같은 Tab..