HTTP 통신을 위해 Swift 에서 대표적으로 이용되는 Alamofire 라이브러리를 사용하였다 Alamofire를 통해 서버에 API를 요청하고 JSON Object 형태로 받는다. JSON Object를 JSONDecoder로 사용하기 좋게 변환한다. JSONDecoder는 JSON의 타입을 Data 타입을 요구한다. 이를 위해 JSONSerializaton을 사용하여 JSON Object를 JSON Data 형태로 변환시킨다. JSON Object 의 형태를 그대로 가져온 struct 를 미리 만들어 놓았다. 예를 들어 JSON Object의 형태가 "person" : [ { "name" : "Zartt" "age" : 24 } ] 이러한 형태라면 struct APIResponse: Codable..

Naver Map API Location Button 오류를 확인했습니다. Xcode version: 11.6 iOS version: 13.5 - 13.6 Location Button을 사용하기 위해 Info.plist에 사용자 권한을 요청하는 구문을 추가하여야합니다. 프로젝트를 새로 만들어 Naver Map API 문서를 참고하여 기본설정을 했음에도 불구하고 버튼이 작동하지 않았습니다. 3-4개월 전쯤 만들어두었던 프로젝트에 ViewController를 하나 생성하고 이전 프로젝트에서 사용했던 코드와 Info.plist 설정을 그대로 가져와 실행해 보았습니다. 이 프로젝트에서는 왜인지 작동이 되네요. 비교해 본 결과 이미 만들어 두었던 프로젝트에서는 사용자 권한 요청 Alert가 있었고, 새로 만든 프..
화면 전환에서 현재 뷰를 dismiss 혹은 navigationViewController에서 pop 한 후 다른 뷰를 present 혹은 push 하는 부분에서 막혔던 과정을 포스팅해보겠습니다. 현재 뷰의 계층 상태는 rootView 와 각 각 다른 정보와 기능을 다루는 2개의 뷰로 이루어져 있습니다. 편의상 rootView, childView1, childView2 로 부르겠습니다. rootView에서 childView1을 불러오고 childView1 에서의 작업을 끝내고 childView2로 넘어가려고 합니다. childView1은 더 이상 남아있을 필요가 없기때문에 childView2로 가기전 childView1을 없애주고 넘어가려고 합니다. 떠오른 생각은 'childView1를 종료하고 compl..
토이프로젝트로 채팅 어플을 만드는데 Server 와 Data 처리를 위해 Firebase를 사용했습니다. 대부분 data를 Database().dateabase().reference().child("...")... 와 같은 방법으로 받아와 처리하였고, Database().dateabase().reference().child("...").setValue(***, withCompletionBlock: ***) 와 같은 방법으로 데이터를 서버로 전송했습니다. 처음 채팅방을 만들 때 먼저 방이 이미 존재하는 지를 체크하고 채팅방이 존재한다면 주고 받았던 메세지 등 채팅방 정보를 가져오고,채팅방이 존재하지 않는다면 아무 작업을 하지 않고 메세지 전송을 클릭하면 방이 생성되고 그 후 메세지를 보내는 형태로 구성하려..
- Total
- Today
- Yesterday
- 코드사이닝
- Crossing Boundaries
- subject
- Apple
- remote
- CSR
- 프로비저닝 프로파일
- 프로비저닝
- 동적계획법
- Push
- RxSwift
- notification
- ios
- 프로파일
- MVVM
- Clean Architecture
- APNS
- TabBar
- 아키텍처
- provisioning profile
- Swift
- Rx
- rxcocoa
- TextField
- dip
- 클린아키텍처
- relay
- certificate
- MVC
- 코테
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |