🍒 iOS 개발

    [반다라트] 기술 및 출시 포스팅

    [반다라트] 기술 및 출시 포스팅

    이번 포스팅은 현업에서 iOS 개발자로 활동한 뒤로 오랜만에 올리게 되는 개인 포스팅인 것 같다 🥲 배경 8월 즈음, 동아리 활동을 하면서 좋은 동료 iOS개발자와 협업하여 앱을 출시하게 되었다..! 👏🏻👏🏻 한달만에 앱을 출시하는 거라 우리의 목표는 비교적 간단했고 요약하자면 이렇다. 첫째는 이전 포스팅부터 적용해보던 클린아키텍처로 모듈 책임 분리를 명확히하여, Tuist (Xcode 프로젝트)관리 툴을 이용하여 Swift 언어를 사용한 타겟 분리 및 모듈을 관리에 있었다. 둘째는 Xcode Cloud를 사용하여 CI/CD 배포 자동화를 구성하는 것이였다. 모듈 분리에 관하여🤔 윗 그림은 여러번 이전에 포스팅에 사용한 적이 있다. 그림에서 나와있듯이 iOS 클린 아키텍처의 가장 주목할 점은 Domain..

    [SLP] 코디네이터패턴 적용기 MVVM-C 포스팅

    [SLP] 코디네이터패턴 적용기 MVVM-C 포스팅

    SLP란 현재 싹에서 5주 동안 진행하였던 Service Level Project의 약자입니다. 본 글에 나오는 SLP라는 명칭은 앱 이름이라고 생각 해주시면 됩니다. SLP앱은 위치기반 주변에 같은 취미를 가지고 있는 새싹들을 찾아 매칭하여 채팅할 수 있는 앱이며, 현업 서비스 수준의 기술을 담은 규모있는 프로젝트 입니다. 이번 포스팅은 SLP 앱을 개발하며 적용시킨 코디네이터 패턴에 대하여 정리한 페이지입니다...! 아래의 이미지들은 직접 구상한 이미지로 무단 도용을 금지합니다 코디네이터란? 아키텍처 이름에서 우리는 MVC-C, MVVM-C 이러한 표현을 종종 보게 되는데요. 여기서 마지막에 C가 붙는 의미가 Coordinator의 C를 이야기 합니다. 코디네이터 패턴을 사용하지 않는다면 화면 동작..

    [SLP] iOS Clean Architecture + MVVM-C with Rxswift 포스팅

    [SLP] iOS Clean Architecture + MVVM-C with Rxswift 포스팅

    SLP란 현재 싹에서 5주 동안 진행하였던 Service Level Project의 약자입니다. 본 글에 나오는 SLP라는 명칭은 앱 이름이라고 생각 해주시면 됩니다. SLP앱은 위치기반 주변에 같은 취미를 가지고 있는 새싹들을 찾아 매칭하여 채팅할 수 있는 앱이며, 현업 서비스 수준의 기술을 담은 규모있는 프로젝트 입니다. 이번 포스팅은 SLP 앱을 개발하며 적용시킨 iOS클릭아키텍처에 대하여 정리한 페이지입니다...! 아래의 이미지들은 직접 구상한 이미지로 무단 도용을 금지합니다 시작하기 전에 SLP는 4명이 한 팀이 되어 같은 프로젝트 각각 구현하며 어떤 기술스택을 적용할지, 또는 이슈는 무엇이였는지 공유하는 형태로 진행되었습니다. 이번 SLP를 하면서 얻은 경험을 말하라고 한다면, 빠질 수 없는..

    [SLP] 테이블뷰 Self-Sizing셀 안에 컬렉션뷰 Left-Align Self-Sizing와 Drop-Down 이슈

    [SLP] 테이블뷰 Self-Sizing셀 안에 컬렉션뷰 Left-Align Self-Sizing와 Drop-Down 이슈

    새싹 커뮤니티 앱을 개발하면서 발생한 이슈를 정리한 페이지입니다. 이슈페이지는 평어체로 쓰도록 하겠습니다. SLP란 현재 싹에서 진행하고 있는 Service Level Project의 약자입니다. SLP를 하면서 Self-Sizing의 Advanced 버전이라고 할수 있는 Nested된 구조를 구현하게 되었음. 스토리 보드없이 Snapkit기반 Code-Base UI로만 구성함. Rxswift, RxCocoa, RxDataSource이용하였지만 이슈는 Rx를 사용하든 안하든 공통사항임 ! 처음 보았을 땐 이게 뭔가 싶을정도로 난이도 있던 UI구성이였다..! 그럼 바로 시작 구현해야하는 피그마 디자인 화면 구조를 보면 우선 크게는 테이블뷰로 새싹 카드가 반복되고 있다. 차근차근 살펴보자면 이부분에서 테이블..

    [SLP] Rxswift 강한 참조 순환 해결 이슈

    [SLP] Rxswift 강한 참조 순환 해결 이슈

    새싹 커뮤니티 앱을 개발하면서 발생한 이슈를 정리한 페이지입니다. 이슈페이지는 평어체로 쓰도록 하겠습니다. SLP란 현재 싹에서 진행하고 있는 Service Level Project의 약자입니다. 이번 SLP프로젝트에서는 Rxswift를이용한 MVVM-C를 기반으로한 클린 아키텍쳐(아키텍쳐 이름 참 길다)를 구성하고 있기 때문에 ,클래스끼리의 강한참조 순환이나 클로저에서 강한 참조순환이 많이 발생할 수 있는 구조를 가지고 있었음..! 그렇기 때문에 수시로 클래스가 Deinit이 제대로 되는지 프린트로 확인을 하고 있었다. 약한 참조나 미소유 참조를 사용하여 참조순환이 발생하지 않았을 것으로 예상하였지만, 몇몇 상황에서 Deinit이 되지 않는 상황이 발생하여 이슈를 정리하게 되었다 우선 강한 참조 순환을..

    [SLP] 커스텀 뷰 UI 이슈

    [SLP] 커스텀 뷰 UI 이슈

    새싹 커뮤니티 앱을 개발하면서 발생한 이슈를 정리한 페이지입니다. 이슈페이지는 평어체로 쓰도록 하겠습니다. SLP란 현재 싹에서 진행하고 있는 Service Level Project의 약자입니다. 복잡한 방식으로 재사용이 되는 UI 구조 상황 설명 과 에서 파란색으로 테두리 된 카드뷰는 각각 다른 화면이지만 비슷한 모양으로 재사용 된다. 파란색 카드뷰를 통째로 커스텀 뷰로 빼려고 하였으나, 보라색 테두리친 부분의 모습은에서만 있고, 에서는 보이지 않음. 또한 의 카드뷰 상단의 보이는 새싹이미지와 뒤의 배경이미지는 에서 비슷한 모양으로 사용되고 있음을 확인 할 수 있다. 그리고 파란색 테두리의 카드뷰에는 토글버튼이 있어 카드뷰가 늘어났다 줄어났다 할 수 있어야 함! 팀원들과 상의하다 내린 커스텀 뷰 구성 ..

    [새싹커뮤니티 앱] Moya Access Token Plugin 이슈

    [새싹커뮤니티 앱] Moya Access Token Plugin 이슈

    새싹 커뮤니티 앱을 개발하면서 발생한 이슈를 정리한 페이지입니다. 이슈페이지는 평어체로 쓰도록 하겠습니다. Moya 라이브러리 Access Token 처리 가이드 라인 https://github.com/Moya/Moya/blob/master/docs/Authentication.md GitHub - Moya/Moya: Network abstraction layer written in Swift. Network abstraction layer written in Swift. Contribute to Moya/Moya development by creating an account on GitHub. github.com 참고한 Moya 깃허브 Authentication 자료링크이다. Access Token Au..

    [이너로그] 첫 출시 포스팅 1편

    [이너로그] 첫 출시 포스팅 1편

    안녕하세요 이번에 새싹에서 진행한 개인앱 사이드 프로젝트로 앱을 출시하게 되었습니다. 간단소개를 하자면 이너로그는 기록장, 다이어리, 일기를 좋아하는 사람들을 위한 유료 ❗️ 앱입니다. 저는 기존에 인스타비공개 계정으로 오늘 하루에 대한 감정 일기를 작성하고는 했는데요 서버에 저장된다는 점과 익숙한 사용법은 장점이 되었지만 폴더별로 나눌 수 없다는 점과 수정할 때의 불편함을 많이 느꼇습니다 글씨체에 관한 아쉬움도 있엇구요. 개인앱을 출시한다면 다이어리 관련 앱을 출시하고 싶었는데 이번에 좋은기회로 출시하게 되었습니다. 유료 앱 첫 출시 하자마자 인기차트 진입! 이너로그는 사용자가 초반에 없더라도 애용자들을 위해 꾸준히 업데이트를 할 생각으로 출시한 앱입니다. 이렇게 빨리 유료앱으로 출시하자마자 라이프스타..

    [새싹 커뮤니티 앱] Rxswift + MVVM 기술 포스팅

    [새싹 커뮤니티 앱] Rxswift + MVVM 기술 포스팅

    새싹 커뮤니티 앱 소개 주의 ❗️ 클론코딩이 아닌 실제 디자인과 API 시트를 가지고 공부 목적으로 구현한 앱입니다. 개발기간은 4일입니다 대충 이런 CRUD 기반 커뮤니티 앱이예요! Snapkit으로 스토리보드 없이 코드로 오토레이아웃을 잡았습니다 API 규모 총 11개의 API로 구성되어 있습니다. 댓글 CRUD, 포스팅 글 CRUD, 회원가입로직 3개 API로 총 11개가 되겠네요! 4일만에 구현하기는 많은 양이였던것 같습니다. 왜냐면 이번 개발에서 새로운 기술을 마구 적용시켰기 때문이예요 ! 새싹 커뮤니티 아키텍처 모습 새싹 커뮤니티 앱의 구현은 Presentation, Data, Domain 크게 세가지 영역으로 로직을 나누었습니다. 왜냐고요? 클린 아키텍쳐를 사용해서 테스트 코드를 짜려고 했죠..