본문 바로가기

전체 글

(41)
[iOS] XcodeCloud로 빌드, 테스트 자동화하기 이번에 가슴속 3천원 프로젝트에 Xcode Cloud를 찍먹 느낌으로 도입하게 되었어요. 도입하면서 왜 도입했는지, 어떻게 도입했는지를 간단하게 정리해보려 합니다. 1. Xcode Cloud란? / CI/CD의 필요성 애플 공식 페이지에서는 다음과 같이 정의되어있어요. Xcode Cloud는 Xcode에 내장된 지속적인 통합 및 배포 서비스로, Apple 개발자를 위해 특별히 제작되었습니다. 앱을 빌드하고, 병렬로 자동화된 테스트를 실행하고, 테스터에게 앱을 배포하고, 사용자 피드백을 보고 관리하는 데 도움이 되는 클라우드 기반의 도구를 통합하여 고품질 앱을 개발하고 배포할 수 있습니다. 위 내용만 읽어보았을 때 기존의 다른 CI/CD 도구와 크게 다른점은 없다고 느꼈어요. 다른 도구들도 앱을 지속적으로..
[iOS] 모듈화 가보자고..🚀(3) - Tuist 적용해보자! 지난번 포스트들에서는 모듈화를 시작하게된 배경과 방법, 그리고 tuist를 적용하지 않고 Base 모듈과 Design System모듈을 만드는 방법까지 적용했습니다. 지난 포스트들은 아래 링크를 통해 읽어볼 수 있습니다. 👉 모듈화 1편 포스트 보러가기 [iOS] 모듈화 가보자고..🚀(1) - 모듈화하게 된 배경과 진행 방법 👉 모듈화 2편 포스트 보러가기 [iOS] 모듈화 가보자고..🚀(2) - Base(Util), Design System 모듈화 하기 (Tuist 적용 전) 이번에는 지난 포스트 내용에 이어져 Tuist를 도입해보고자 합니다. 1. Tuist란? (바로가기) .xcodeproj, .xcworkspace 파일을 생성하고 관리해주는 생산성 도구입니다. 또한 모듈 환경을 구성하는데 편리한 ..
[iOS] 모듈화 가보자고..🚀(2) - Base(Util), Design System 모듈화 하기 (Tuist 적용 전) 지난 1편에 내용에 적힌 계획 순서대로 진행을 하면서 기록을 남겨두고 있습니다. 🕺 계획의 첫번 째 순서는 모든 프로젝트에서 공통으로 사용할 수 있는 코드들인 Base + Uilt성 코드들과 Desgin System에서 사용되는 컴포넌트들을 각각 모듈화 하는 것 입니다. (Base 모듈 + Design System 모듈) 👉 모듈화 1편 포스트 보러가기 [iOS] 모듈화 가보자고..🚀(1) - 모듈화하게 된 배경과 진행 방법 이런 순서로 진행하고자 하는 이유는 현재 프립의 프로젝트는 단일 모듈이고 볼륨이 크기 때문에 모듈화로 접근하기 쉬운 부분부터 하나씩 진행해보기 위함입니다! 또한 모듈화를 한다고 해서 바로 Tuist를 도입하면 현재 코드에서 전반적으로 파일들의 위치도 변경되고 그 이외에 많은 환경들이..
iOS 힙한 UI 따라 만들기 Ep.03 "Frip" 홈 화면 UICompositionalLayout으로 만들기👋 오랜만에 3번째 에피소드로 돌아왔습니다 👋 이번에는 최근 업데이트된 Frip앱의 홈화면을 UICompositionalLayout으로 만들어보려고 합니다. (물론 제가 몸담고 있어서 힙하다고 얘기하는 것은..아니고..흠흠) 요즘 커머스앱을 들어가면 대부분 이런방식으로 여러가지 형태의 내용들이 들어간 스크롤 형식의 뷰가 보여지곤합니다. 옛날에는 이런 화면들 도대체 어떻게 만들지 싶은 생각도 들고, 만들어도 무언가.. 엄청 복잡하게만 만들어져서 깔끔하게 만들어보고 싶다는 생각이 들곤 했었습니다. 이전에는 어떻게 만들었나? UICompositionalLayout으로 만들기 전에 이런 화면들은 UICollectionViewCell안에 다른 UICollectionView를 정의하여 사용하곤 했습니다. 그렇게 만들고..
[iOS] RemoteConfig 사용해서 A/B 테스트 실험 돌리기 🧪 안녕하세요. 오늘은 프립에서 A/B 테스트를 처음으로 도입해 본 경험을 기록으로 남겨보고자 합니다. 이전부터 A/B테스트를 해보고는 싶었으나 기회가 없어서 해보지 못했었는데요, 이번에 심플한 좋은 기회가 생겨서 도전했던 기록을 공유합니다. 어쩌다 시작..?🤔 A/B 테스트의 시작하게된 계기 프로덕트 팀의 PO님께서 탈퇴유저의 탈퇴 이유를 시작으로 새로운 문제점을 찾아 정의했고 문제를 해결하기 위해 새로울 가설을 세웠습니다. "설립한 가정을 검증하기 위해 A/B테스트를 진행하면 좋겠다." 라는 기회를 만들어주셨습니다. 실험 계획서 링크의 대략적인 내용은 다음과 같습니다. [문제정의] 상품 상세로 진입하기 전 가장 많이 보는 화면이 상품 리스트이다. 탈퇴 유저 중 10%가 가격이 비싸다는 의견을 남겼다. (..
[iOS] 모듈화 가보자고..🚀(1) - 모듈화하게 된 배경과 진행 방법 안녕하세요👋 오랜만에 글을 쓰네요. 글쓰기 귀찮아했지만 일들이 바빠서 못적고 있었다는 핑계를 둘러대봅니다.. 회사에서 요즘 모듈화와 관련된 내용을 많이 느리지만 천천히 반영해가고 있는데요, 그 내용을 하나씩 정리해 보고자 합니다. 아직 모듈화가 많이 진행된 상황은 아니고 아직도 초반이라고 생각합니다. 모듈화를 끝내고 내용을 정리해서 글을 작성하는 방법도 생각은 해봤지만 진척도가 있을 때마다 조금씩 글을 적는 것이 지금 상황에서 겪고 있는 문제나 해결 방법을 더 잘 기억하고 작성할 수 있다고 생각해서 하나씩 적어보려고 합니다. 이번에는 모듈화를 하게 된 배경과 어떻게 진행할지 작성한 방법에 대한 내용을 정리합니다. 이 시리즈 포스트가 몇 장에 끝날지는 저도 궁금하네요 🤔 왜 모듈화 생각을 시작하게 되었을까..
[WWDC 가보자고] WWDC 2019 / Building Custom Views in SwiftUI - 2 아래 내용은 WWDC영상을 보고 제 자신이 중요하다고 생각된 부분들을 정리한 글입니다. 보다 자세한 내용 혹은 전체 내용은 WWDC영상을 통해 확인하는 것을 추천드립니다. 지난 글에서는 SwiftUI에서 기본적으로 레이아웃이 어떻게 그려지는지를 정리했는데요, 이번에는 Stack이 어떻게 동작하는지를 정리하려고 합니다. 두 줄 요약 🚀 SwiftUI 에서 Stack이 어떤 프로세스로 레이아웃을 그리는지 알 수 있다. 프로세스를 이용해서 커스터마이징 된 뷰를 만들 수 있다. 영상 링크🔗 https://developer.apple.com/videos/play/wwdc2019/237 Building Custom Views with SwiftUI - WWDC19 - Videos - Apple Developer L..
[가지가지 iOS 리젝] 이벤트 상품으로 애플 제품을 준다고 해서 리젝? 😇 한 줄 요약🚀 앱 내에서 애플 제품을 경품으로 주는 이벤트를 소개한다면, 행사 설명란에 "애플 제품은 애플로부터 스폰을 받지 않았습니다."라고 명시해야 합니다. 주저리 주저리🫥 서비스 내에서 구매 고객들을 대상으로 이벤트를 진행하던 시점에 이벤트와는 별개의 버스 수정 핫픽스를 진행하고 심사를 올렸습니다. 코드상으로 1~2줄만 수정을 하고 앱 심사를 올렸던지라 자고 일어나면 당연히 심사 통과해 있겠거니.. 싶었는데, 결과는 앱 심사 거절이었습니다. 그 이유는 "앱 내에 콘테스트가 있고 해당 콘테스트의 경품으로 애플 와치를 드린다는 내용이 있어서.."였습니다. 좀 더 정확히는 애플 제품을 경품으로 사용하면 안 돼!는 아니었고, 애플로부터 스폰을 받았다고 오해할 수 있다는 이유였습니다. 그래서 리뷰어가 같이 ..