iOS69 [ReactorKit] 리액터킷의 기본 개념 안녕하세요 제가 공부하고 있는 리액터킷의 기본 개념을 꼼꼼히 공부하고 이해해보도록해요 아래 내용은 리액터킷 깃의 내용을 한글로 제맘대로 적어놓은 것 입니다~ 이해가 안되는 여러분들에게도 도움이 되면 좋겠네요... 모든 내용은 https://github.com/ReactorKit/ReactorKit/blob/master/README.md ReactorKit/README.md at master · ReactorKit/ReactorKitA library for reactive and unidirectional Swift applications - ReactorKit/ReactorKitgithub.com을 기본으로 합니다! 그럼 시작기본 개념ReactorKit은 Flux와 Reactive Programming의.. iOS/ReactorKit 2025. 9. 10. [ReactorKit] Swift Storyboard 없이 코드로만 앱 만들기 안녕하세요리액터킷 카테고리를 새로 만들었삼 요즘에 리액터킷 공부를 하고 있는데요넘나 어려운 것 그래서 첨부터 차근차근 공부해나가는 모습을 포스팅해보며 복습하려고해요 이 카테고리의 모든 포스팅은 AI가 아닌 제(나 이상지)가 직접 적습니다!!!물론 ai가 도움을 줄순 있음,, 하지만 ai가 줄줄 써준 글은 아님요제 피땀눈물이 들어가있다는거 알아주삼요 그럼 오늘은 꼭 리액터킷만의 과정은 아니지만 스토리보드 없이 프로젝트 구성하는 방법을 알아보아요 스타트 단순히 스토리보드 파일 없앤다고 코드로만 가능한거 아님 1. 스토리 보드 파일 삭제하기main 스토리보드 파일이랑 런치 스크린 파일 삭제 고고 2. Info.plist 에서 main 삭제하기Info.plist에 있는Application Scene Manif.. iOS/ReactorKit 2025. 9. 9. [흡구오디] 지도 위 정보를 띄우는 '바텀 시트' 만들기 (feat. FloatingPanel) 안냐세요바텀시트 완성해 왔서요제가 원하는 기능은 지도 위의 특정 마커를 터치하면 그 장소에 관한 정보를 바텀 시트로 띄워주는 것이었어요도전기1. 커스텀 바텀 시트 구현: 커스텀 해줘야 할거 너무 많아서 포기예를들면 화면을 터치하면 얼만큼 내려오고,마커를 터치하면 얼만큼 올라오고 이런 것들을 다 계산해서 코드로 지정해줘야 해서넘나 복잡한 것기각!2. PanModal 라이브러리 사용: 쉽게 바텀 시트를 구현할 수 있는 유용한 라이브러리 인데요얘는 바텀시트가 올라왔을때 뒤에 화면이 활성화가 안되서 기각저는 바텀 시트 올라온 상태에서도 다른 마커 터치하면 그 마커에 대한 바텀 시트로 바껴야 하거등요3. FloatingPanel 라이브러리 사용: 결론적으로 얘를 사용했구요위에서 말한 제 요구사항을 만족해서 이걸 .. iOS/흡구오디 -> 어딨쥐 2025. 9. 5. [흡구오디] 흡연구역 정보를 띄우기 위한 bottomSheet ㅎㅇ여 이번에는 마커를 클릭했을 때 하단의 정보창을 띄우기 위한 과정을 포스팅 해볼게요 찾아보니 이걸 bottomSheet라고 하더라구요? apple 공식 문서에서는 아래와 같은 코드를 제시함func showMyViewControllerInACustomizedSheet() { let viewControllerToPresent = MyViewController() // 1. sheetPresentationController 가져오기 if let sheet = viewControllerToPresent.sheetPresentationController { // 2. detents: 시트 높이 단계 지정 sheet.detents = [.medium.. iOS/흡구오디 -> 어딨쥐 2025. 8. 31. [흡구오디] NMFMapView와 NMFNaverMapView의 차이를 알아보자! 안뇽하세요 저는 지금 네이버 지도 SDK를 이용해서 흡구오디라는 iOS 앱을 개발 중인데요, 네이버 지도 SDK 세계에는 두 가지 지도 객체가 존재한답니다.바로 NMFMapView 와 NMFNaverMapViewNMFMapView vs NMFNaverMapView 차이NMFMapView네이버 지도의 순수 지도 객체지도만 표시됨 (UI 컨트롤 없음)카메라 이동, 마커 표시 같은 “지도 그리기” 기능 제공NMFNaverMapView내부에 NMFMapView를 포함한 컨테이너 뷰기본적으로 네이버 제공 UI 컨트롤 (현재 위치 버튼, 줌 버튼, 로고 등) 같이 제공그래서 self.mapView.mapView 처럼 .mapView 프로퍼티를 통해서 실제 지도(NMFMapView)에 접근해야 함즉,NMFMapVie.. iOS/흡구오디 -> 어딨쥐 2025. 8. 31. [흡구오디] FireStore의 데이터 가져와서 화면에 띄워주기 안냐세요? 오늘은 Firestore에서 document와 data들을 가져와서 지도에 띄워줄거예요 레쯔고 우선 데이터를 입력하고 저장을 해야겠죠?저장하는 부분은 저번 게시글에서 포스팅 했었으니 참고! https://dev-23g.tistory.com/172 그렇담 이제 저장된 데이터들을 가져오자데이터 가져오기// MARK: Area Marker private func smokingAreas() { // 실시간으로 데이터 가져오는 addSnapshotListener 사용 db.collection("smokingAreas").addSnapshotListener { snapshot, error in guard let snapshot = snapshot else { return } .. iOS/흡구오디 -> 어딨쥐 2025. 8. 31. [흡구오디] 어디까지 개발했나 알려드림 | UI 라이브러리 | Firestore 연동 안녕하세요 ^^은근 오랜만에 포스팅하네요 시간이 빠르다 빨라 저는 이번 여름 휴가로 울진, 울산, 제주도를 갔다왔답니다~! 그럼 이제 열심히 공부하고 개발하고 글 써야겠죠...네 레츠고! 글을 안쓴동안 은근 많은 변화가 있었답니다. 개발 내역들1. UI를 라이브러리로 구성함: snapkit, pinlayout, flexlayout 을 활용해서 해당 라이브러리들을 공부하고 적용해보았어요그런데 뭐로 통일할지는 못정함 뭘로 할까요?제 첫인상은 pin이 제일 좋음쓰는게 간편함 2. 흡연구역의 환경 / 유형 / 시설 태그들을 만듦: 각 흡연구역의 이름, 설명 뿐만 아니라 위와 같은 다양한 태그들을 등록할 수 있도록 했어요 아이디어 있으신 분? 공유 부탁 흡연자분들께서는 저러한 정보가 함께 제공된다면아따 흡구오디 .. iOS/흡구오디 -> 어딨쥐 2025. 8. 29. [흡구오디] 네이버 지도에서 현재 위치 가져와서 현재 위치를 지도에 띄우기 안녕하세요 오늘은 삽질 100번하고 알아낸 사용자의 현재 위치 가져와서 띄우기!를 공유해볼게요 이번 글에서는 네이버 지도 SDK를 이용해 앱에서 현재 위치를 지도에 띄우는 방법을 소개합니다~ 우선 우리는 지도에 사용자의 현재 위치를 띄우기 위해서 무엇을 할꺼냐!현재 위치 좌표 가져오기 -> 네이버 지도 기능으로 그 좌표로 카메라 이동시켜서 -> 화면에 사용자의 위치 띄워주기!1. 준비 작업필수 라이브러리 설치하기: 저는 네이버 지도 sdk를 SPM으로 깔아줬어요 https://github.com/navermaps/SPM-NMapsMap.git GitHub - navermaps/SPM-NMapsMapContribute to navermaps/SPM-NMapsMap development by creating.. iOS/흡구오디 -> 어딨쥐 2025. 8. 11. [흡구오디] 스크롤뷰 구현하기 | 지도뷰 + 스크롤뷰 조합 안녕하세요 이제 detailView 만들 차례! DetailView 설명디테일 뷰는 상단에 전 화면에서 찍은 좌표에 마커가 있는 지도가 고정되어 있고,아래에는 스크롤 뷰로 해당 장소에 대한 설명들을 적을 수 있는 화면이다. 이렇게 네비게이션 바 아래에 크기 200으로 뱌치해줬다.코드는 이러함 NSLayoutConstraint.activate([ // 이럴게 내비 바 바로 아래에 고정! mapView.topAnchor.constraint(equalTo: safeAreaLayoutGuide.topAnchor), mapView.leadingAnchor.constraint(equalTo: leadingAnchor), mapView.trailingAnchor.constraint(e.. iOS/흡구오디 -> 어딨쥐 2025. 7. 17. [흡구오디] Main 스토리보드 삭제하는 법! | 네이버 지도 마커 좌표 받아오기 안녕하세요 스토리 보드 삭제하기탈 스토리보드를 하기 위해선 main 스토리보드를 없애고 코드 기반으로 바꾸는 작업이 필요합니다. 이과정에 그냥 파일을 지우고 끝~이 아니라 몇가지 설정을 해줘야하더라구요 저는 https://storing.tistory.com/43 블로그를 참고했습니다! 요소 추가 시 주의 점요소 추가할 때addSubView 해야하고 레이아웃 잡아줘야 화면에 나온다! (이 사이 뻘짓으로 n시간 날림...)마커 좌표 받아오기이제 오늘의 할 일마커의 위도 / 경도 값 데이터 넘겨주기! 제가 만든 커스텀 마커는 엄밀히 말하자면 Yes 이미지 No 마커이기 때문에마커의 좌표를 따오는 것이 아니라 지도 뷰의 센터 좌표(=마커 좌표)를 가져와야함! let center = addView.mapView... iOS/흡구오디 -> 어딨쥐 2025. 7. 17. [흡구오디] 네이버 지도 위에 마커 표시하기 | 마커 고정하기 이번 단계에서는 addView에서 화면(지도) 정중앙에 마커를 표시한다.이때 지도가 움직이더라도 마커는 계속 화면 정 중앙에 위치한다. 다음화면으로 가는 버튼을 누르면 마커가 가르틴 곳의 위치 정보를 가져온다! 그럼 렛츠고 우선 지도 이동과 마커를 이해하기 위해선네이버 지도의 카메라와 마커에 대해 이해해야한다. 카메라 변경 이벤트 어떤 이유에 의해서건 카메라가 움직이면 카메라 변경 이벤트가 발생합니다. NMFMapView를 사용 중인 뷰 컨트롤러에 NMFMapViewCameraDelegate 프로토콜을 선언하고, -mapView:addCameraDelegate로 등록하면 카메라 변경 이벤트를 받을 수 있습니다. 카메라의 위치가 변경되면 -mapView:cameraIsChangingByReason: 콜백 .. iOS/흡구오디 -> 어딨쥐 2025. 7. 16. [흡구오디] 내비게이션 컨트롤러 코드로 구현하기 | 화면 이동 이번에는 코드로 내비게이션 컨트롤러를 구현해볼거예요 SceneDelegate 파일에 아래와 같이 코드를 입력해주면 됩니다.// 파일 위치: SmokingAreaOdi/SceneDelegate.swiftimport UIKitclass SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? // 앱 화면을 담는 윈도우 func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let windowScene =.. iOS/흡구오디 -> 어딨쥐 2025. 7. 16. 이전 1 2 3 4 5 6 다음