전체 글
-
[맵모] 중간회고3 (240316)회고 2024. 3. 16. 01:14
# 📖 오늘 학습한 내용 좌표 객체 · NAVER Map iOS SDKNo results matching ""navermaps.github.io위치를 기반으로 저장했던 메모를 지도에 마커로 표현하기 위해서는 좌표 객체를 사용하여 표현할 수 있다.네이버 지도 SDK는 지리 좌표계를 기본 좌표계로 사용하며, NMGLatlng 객체를 통해 위경도 좌표를 나타낼 수 있다.하지만 메모 생성 시 (네이버 지역 검색 API를 통해) 선택한 위치에 해당하는 좌표계는 카텍 좌표계이다. 카텍 좌표계는 Bessel 타원체 지구 모델링에 위도 128도, 경도 38도를 중심으로 TM방식으로 투영한 좌표계로써, 다른 명칭으로 TM128으로 부르기도 한다.따라서 네이버 지도 SDK에서 지원하는 Tm128 클래스 객체를 생성한 후..
-
[맵모] 중간회고2 (240315)회고 2024. 3. 15. 00:34
# 😟 경험한 이슈 다른 화면으로 푸시될 때 탭바가 보이지않게 하기 위해서 TabBarController에 NavigationController를 감싼 상태로 만들었다. 하지만 TabBarController를 NavigationController의 rootViewController로 설정할 경우에, 1. 첫번째 탭인 지도 화면에서는 navigation 타이틀이 없어야 하지만 2. 두번째, 세번째 탭인 리스트 화면, 히스토리 화면에서는 navigation 타이틀이 있어야한다. -> 각 탭 화면마다 navigationController를 가져야 하지만 현재 하나의 NavigationController를 공유해서 쓰고 있기 때문에 하나의 타이틀로만 설정이 가능하다. 해결 방법 각 탭 화면마다 navigatio..
-
[iOS] 푸시 알림에서 받은 url을 웹뷰에 띄우기, postman 푸시 테스트iOS 2024. 3. 15. 00:15
앱에서 수신한 푸시 알림을 탭했을 때, 알림에서 받은 url을 웹뷰로 띄우는 방법입니다. xCode Project와 FCM Push Notification 연동은 여기를 참고해주시면 됩니다!테스트를 위해 푸시 서버에서 알림을 받는 대신 postman을 사용하겠습니다.우선 postman 푸시 테스트 방법 먼저 설명드리겠습니다. 1. postman 푸시 테스트1) Firebase 프로젝트 > 프로젝트 설정 > 클라우드 메시징 에서 Cloud Messaging API 사용하기처음 키면 아마 사용 중지됨으로 되어있을텐데, 오른쪽 더보기에서 Google Cloud Console에서 API 관리를 들어가 사용 버튼을 누르면 사용하실 수 있습니다!2) 서버 키 복사해두기postman으로 푸시 알림을 보낼 때 사용될 ..
-
[iOS] Push Notification 메소드 정리iOS 2024. 3. 15. 00:10
1. UserInfo 푸시 데이터가 담겨있는 저장소, [ AnyHashable : Any ]? 형태의 자료형입니다. { "aps": { "alert": "test" "badge": "1" } } 2. Push Notification 메소드 정리 1) 앱이 실행 중인 경우 (Foreground) userNotificationCenter(_:willPresent:withCompletionHandler:) func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotification..
-
[iOS] FCM으로 Push Notification 구현하기iOS 2024. 3. 15. 00:07
※ 원격 푸시를 구현하기 위해선 개발자 계정 멤버십이 필요합니다. 1. APNs Key 발급 1. Apple Developer Member Center > Keys에 들어갑니다. Keys 옆의 + 버튼을 눌러 키를 생성합니다. 2. Key 이름을 작성하고, Apple Push Notifications service (APNs)를 선택합니다. 3. Continue > Register를 완료한 다음 Download 버튼을 눌러 p8 파일을 다운로드 합니다. 다운로드한 키 파일은 한 번만 다운로드할 수 있으니, 보관해둬야 합니다. 2. Firebase 프로젝트 설정 1. Firebase에서 새 프로젝트를 생성합니다. 2. iOS 프로젝트를 추가합니다. 3. 앱 등록, 구성 파일 다운로드합니다.(안내대로 따라가..
-
[iOS] Remote Notification 개념 정리iOS 2024. 3. 15. 00:05
앱 유지 및 보수 중 공지사항 알림기능을 추가하기 위해 Remote Notification 작업을 해야한다. 작업을 하면서 대충 이해하고 넘어가지 않고 스스로 정리를 하면서 진행하기 위해 기록해보려고 한다. Notification 종류 Local Notification - 앱에서 직접 주는 Notification Remote Notification - 서버와 같은 원격(Remote)에서 주는 Notification APNs APNs는 Apple Push Notification Service의 약자로, 앱에 푸시 알람을 보낼 수 있도록 애플이 만든 알람 서비스 플랫폼이다. 앱에 알람을 보내기 위해서는 반드시 APNs를 거쳐야 한다는 것이다.(local 제외) Push 알림 동작 과정 App이 APNs에게 ..
-
[Swift] Closure 이해하기Swift 2024. 3. 15. 00:03
Closure Closure의 정의 Closure는 함수처럼 기능을 수행하는 코드 블럭, 이름없는 함수(익명 함수)입니다. 문법은 다음과 같습니다. { (parameters) -> return type in statements } () 안에는 인자가 들어가고, 화살표(->) 다음에는 리턴할 타입을 씁니다. 수행할 코드는 statements에 작성하면 됩니다. Closure의 특징 인자로 받을 수 있다. 값을 리턴할 수 있다. Closure를 변수처럼 함수에도 넘겨줄 수 있다. First Class Type이다. First Calss Type이란? First Class Type가 뭔지 모르는 사람들을 위해 설명하자면, 변수에 할당할 수 있다. 인자로 받을 수 있다 리턴할 수 있다. Int나 String과 ..
-
[맵모] 중간 회고1 (240314)회고 2024. 3. 14. 23:54
# 📖 오늘 학습한 내용 DatePicker를 통해 날짜를 선택했을 때 값을 받아오는 방법을 학습하였다. datePicker.addTarget(self, action: #selector(datePickerValueChanged), for: .valueChanged) valueChanged에 대한 액션의 타겟을 datePicker로 설정하여 @objc func datePickerValueChanged(_ sender: UIDatePicker) { print(sender.date) } 다음과 같은 @objc 함수를 만들어 선택된 날짜값을 받아올 수 있다. # 😔 경험한 이슈 이미지 추가화면에서 이미지들을 추가했을 때 나타나는 셀의 크기가 원하는 크기로 적용이 안되는 이슈를 경험하였다. 원인 → collect..