iOS 프로젝트 62

[iOS] moti 개발일지 - 5. 보이스 오버(Voice Over)

GitHub - boostcampwm2023/iOS02-moti: 네이버 부스트캠프 8기 iOS moti 앱 📸 네이버 부스트캠프 8기 iOS moti 앱 📸. Contribute to boostcampwm2023/iOS02-moti development by creating an account on GitHub. github.com 서론 moti는 더 나은 사용자 경험을 위해 노력한 앱입니다. 지금까지 작성한 인터랙션 애니메이션, 메모리 개선 등이 그 예시인데요. 이번 포스팅에서 다루는 보이스 오버도 더 나은 사용자 경험을 위해 적용한 기능입니다. 또한, 큰 기업 위주이지만 올해부터 모바일에도 접근성 지원을 필수로 적용해야 합니다. 접근성이 드디어 모바일에도 적용이 되는구나 느껴졌던 현상이에요. 이러한..

[iOS] moti 개발일지 - 4. 다운 샘플링과 메모리 캐시 개선

GitHub - boostcampwm2023/iOS02-moti: 네이버 부스트캠프 8기 iOS moti 앱 📸 네이버 부스트캠프 8기 iOS moti 앱 📸. Contribute to boostcampwm2023/iOS02-moti development by creating an account on GitHub. github.com 서론 moti 앱은 사진이 핵심 콘텐츠인 앱입니다. 모든 곳에서 사진을 보여줘요. 그렇기 때문에 이미지에 사용하는 메모리가 많습니다. 이번 개발일지에서는 이미지에 소비되는 메모리를 줄이기 위해 도입한 다운 샘플링과 메모리 최적화 과정을 다뤄보겠습니다. 특별하진 않지만 매우 중요한 고민 과정이었습니다. 다운 샘플링이 필요한 이유 다운 샘플링을 적용하기 전, 팀원에게 다운 샘플..

[iOS] moti 개발일지 - 3. Interaction Animation

GitHub - boostcampwm2023/iOS02-moti: 네이버 부스트캠프 8기 iOS moti 앱 📸 네이버 부스트캠프 8기 iOS moti 앱 📸. Contribute to boostcampwm2023/iOS02-moti development by creating an account on GitHub. github.com 서론 이번 포스팅에서는 인터랙션 애니메이션을 다룹니다. moti에서는 인터랙션 애니메이션도 하나의 도전 과제로 설정했습니다. 사용자 경험을 좋게 하기 위한 요소 중 하나라고 생각했기 때문입니다. 그래서 moti에는 어떤 인터랙션 애니메이션이 있는지, 구현을 하면서 어떤 어려움이 있었는지 말해보겠습니다. 인터랙션 애니메이션 적용 이유 처음 인터랙션 애니메이션에 대해 알게된건 ..

[iOS] moti 개발일지 - 2. 클린 아키텍처와 Swift Pacakage 모듈화

GitHub - boostcampwm2023/iOS02-moti: 네이버 부스트캠프 8기 iOS moti 앱 📸 네이버 부스트캠프 8기 iOS moti 앱 📸. Contribute to boostcampwm2023/iOS02-moti development by creating an account on GitHub. github.com 서론 moti 프로젝트는 클린 아키텍처와 MVVM-C로 구조를 잡았고, Swift Pacakage로 모듈화를 진행했습니다. 클린 아키텍처를 선택한 이유와 코디네이터를 접목한 이유를 먼저 알아보고, 모듈화를 진행한 이유와 그중에서도 Swift Pacakage를 선택한 이유를 알아보겠습니다. 클린 아키텍처 moti는 클린 아키텍처로 레이어를 분리해 구조화했습니다. 레이어 분리가..

[iOS] moti 개발일지 - 1. 프로젝트 소개

GitHub - boostcampwm2023/iOS02-moti: 네이버 부스트캠프 8기 iOS moti 앱 📸 네이버 부스트캠프 8기 iOS moti 앱 📸. Contribute to boostcampwm2023/iOS02-moti development by creating an account on GitHub. github.com 서론 moti 앱은 네이버 부스트캠프 8기에서 진행한 프로젝트입니다. 팀명은 모티메이트이고, iOS 2인, BE 2인으로 구성된 4인 팀이에요. 지금까지는 iOS가 저 한 명이었는데, 처음으로 iOS 협업을 경험한 앱이면서 가장 볼륨이 큰 앱입니다. moti는 어떤 앱인지, 개발하면서 어떤 고민을 했는지 작성해 보겠습니다. 이번 포스팅에서는 moti가 어떤 앱인지 소개하는 ..

[iOS] Jeongfisher 4. Extension Wrapper와 파라미터 고민

GitHub - jeongju9216/Jeongfisher: 유정주의 이미지 캐시 라이브러리 유정주의 이미지 캐시 라이브러리. Contribute to jeongju9216/Jeongfisher development by creating an account on GitHub. github.com Extension Wrapper Extension Wrapper는 최근에 포스팅을 했었죠? (Generic, Protocol을 이용한 Extension Wrapping) Jeongfisher에서 적용을 해서 공유하고 싶은 마음에 포스팅을 작성했었습니다 ㅎㅎ 이번 포스팅에서는 Jeongfisher에 Extension Wrapper를 적용하면서 어떤 고민을 했는지 작성해보겠습니다. 참고로 이번 포스팅에서 구현 방법은..

[iOS] Jeongfisher 3. JFImageDownloader, 중복 Request 처리

GitHub - jeongju9216/Jeongfisher: 유정주의 이미지 캐시 라이브러리 유정주의 이미지 캐시 라이브러리. Contribute to jeongju9216/Jeongfisher development by creating an account on GitHub. github.com JFImageDownloader JFImageDownloader는 URL을 이용해 이미지를 다운로드하는 클래스입니다. 메모리 캐시와 디스크 캐시에 데이터가 없을 때 JFImageDownloader를 이용해 네트워킹을 하는 거죠. 이미지 다운로더를 만들면서 힘들었던 것은 중복 Reqeust 처리입니다. 동일한 URL로 여러 번 Reqeust를 하면 비효율적이겠죠? 그래서 URL을 딕셔너리에 저장해 두고 중복 Req..

[iOS] Jeongfisher 2. 메모리 캐시, 디스크 캐시

GitHub - jeongju9216/Jeongfisher: 유정주의 이미지 캐시 라이브러리 유정주의 이미지 캐시 라이브러리. Contribute to jeongju9216/Jeongfisher development by creating an account on GitHub. github.com 서론 Jeongfisher는 메모리 캐시와 디스크 캐시를 사용합니다. 이번 포스팅에서는 두 개의 캐시를 구현하면서 고민한 내용을 적어보려고 해요. 특히 메모리 캐시를 구현할 때 기초적인 내용을 깊게 고민할 수 있었습니다. 메모리 캐시 구현 이유 메모리 캐시는 NSCache를 사용하는 대신 직접 구현했습니다. 메모리 캐시 구현 과정을 직접 고민하고 싶었기 때문입니다. NSCache를 사용하면 물론 편하겠지만... ..

[iOS] Jeongfisher 1. 라이브러리 첫 도전, 다운샘플링 적용 결과

GitHub - jeongju9216/Jeongfisher: 유정주의 이미지 캐시 라이브러리 유정주의 이미지 캐시 라이브러리. Contribute to jeongju9216/Jeongfisher development by creating an account on GitHub. github.com 라이브러리 첫 도전 Jeongfisher는 저의 라이브러리 첫 번째 라이브러리입니다. 유명 라이브러리인 Kingfisher는 다들 아시죠? 이미지 캐싱, 다운로드, 편집 등 기능이 매우 많고 유용한 라이브러리입니다. 하지만 대부분의 앱에서는 이미지를 보여주고 캐싱하는 기능만 사용하는데요. 이점을 생각해서 Jeongfisher를 만들어보았습니다. 또한, 킹피셔는 하위 호환성을 고려해서 completionHandle..

[iOS] 작심삼일 개발 일지 6 - 대규모 2.0 패치

서론지난 포스팅에서 작심삼일을 사용하면서 느낀점과 개선 계획에 대해 다루었습니다. (작심삼일 개발 일지 5 - 실사용 후기 & 개선 계획) 이중에서 여러 개 목표를 등록할 수 있는 기능을 포함해 대규모 2.0 패치를 진행했습니다. 이번 포스팅에서는 변경점을 간단히 안내하겠습니다. 사용하시면서 의견이 있으시다면 댓글로 리뷰 부탁드립니다. 작심삼일 다운로드 링크 ‎작심삼일: 원클릭 목표 달성‎항상 큰 목표를 잡고 포기하거나 실패하는 일이 많습니다. 작심삼일을 이용해 작심삼일에 도전하세요!apps.apple.com 앱 사용 일수 표시앱을 사용한 일수를 표시하였습니다. 상단 왼쪽에 "작심 1일" 문구가 보이시나요? 오늘이 1일차 사용이라 작심 1일로 표시된 것입니다. 이렇게 앱을 사용한 일수를 표시해서 성취감을..

반응형