pile·

iOS 개발 — SwiftUI·모듈화·빌드 최적화

발행

SwiftUI 도입과 모듈화, KMP 크로스플랫폼, 스위프트 매크로·App Extension 같은 언어/플랫폼 기법, 앱 사이즈·빌드 최적화, Tuist·DocC까지. iOS 엔지니어링 실전 모음.

12
  1. 01
    리멤버리멤버

    리멤버 iOS의 SwiftUI 도입기 — 허들을 하나씩 넘기며

    리멤버 iOS 앱이 UIKit 기반의 레거시 코드와 SwiftUI 신기능 사이에서 점진 이행을 결정해야 했고, 두 프레임워크 공존의 허들이 누적되어 있었다.

  2. 02
    카카오 스타일 (지그재그)카카오 스타일 (지그재그)

    1년 동안의 iOS 모듈화 진행기 — 2. Component 모듈

    피처 모듈을 독립시키려면 상품 카드 캐러셀·헤더·배너 같은 공통 UI 컴포넌트를 분리해야 했지만, 서버 드리븐 환경에서 어떤 컴포넌트가 있는지 한눈에 볼 카탈로그가 없어 중복 개발과 QA 범위 정의가 어려웠다.

  3. 03
    스포카스포카

    KMP/CMP 마이그레이션, 정말 프로덕션에서 가능할까? - 키친보드 앱 마이그레이션 도전기

    Kotlin Multiplatform (KMP) + Compose Multiplatform (CMP) 이 프로덕션 환경에서 정말 쓸 만한지 의문이 많다.

  4. 04
    oliveyoung올리브영 테크블로그

    스위프트 매크로 1탄: 스위프트 매크로가 뭐예요?

    기존 코드 스니펫과 C 매크로는 팀 공유, 타입 안전성, 코드 컴플리션 측면에서 한계가 있었다.

  5. 05
    LINE EngineeringLINE Engineering

    AttributedString 구조로 풀어낸 대규모 iOS 설정 시스템

    대규모 iOS 설정 화면을 모든 종류의 UI 요소(텍스트 / 스위치 / 링크 / i18n) 와 함께 다루기 어렵다.

  6. 06
    kream크림 (KREAM)

    iOS App Extension의 안정성 확보하기

    iOS App Extension은 메인 앱 위주 개발로 예외 처리가 미흡하고, 크래시가 발생해도 조용히 기능이 사라져 Crashlytics·Sentry 같은 기존 도구만으로는 감지가 어려웠다.

  7. 07
    theswing더스윙

    스윙 iOS에서 더 개선된 애니메이션 시스템 만들기

    UIView.animate·UIViewPropertyAnimator 사용 시 CATransaction 잔존·레이아웃 연쇄 반응·타이밍 충돌·비애니메이션 속성 한계·취소 어려움 등 5가지 비의도적 동작 발생

  8. 08
    딜라이트룸딜라이트룸

    iOS 앱 사이즈 줄이기

    iOS 앱 설치 용량이 257MB로 크고, 앱 크기 증가가 신규 사용자 전환율에 직접 영향을 미침.

  9. 09
    29CM29CM

    SwiftLint 캐싱을 통한 Incremental Build 최적화하기

    모듈화 후 SwiftLint가 증분 빌드 시마다 전체 코드를 반복 검사해 빌드 시간이 15~30초씩 소요됐다.

  10. 10
    다나와다나와

    다나와 PC견적 Tuist 도입기

    2012년부터 운영된 다나와 PC견적 iOS 앱은 ViewController 비대, Objective-C·Storyboard 의존, 팀 확장으로 인한 .xcodeproj 머지 충돌이 누적돼 유지보수 비용이 가파르게 늘었다.

  11. 11
    카카오페이카카오페이

    MapKit을 활용한 위치 기반 서비스를 개발하며 겪은 시행착오

    MapKit 이 한국 서비스 대응 문서 부족으로 주소 변환과 법적 attribution 표시에 어려움.

  12. 12
    oliveyoung올리브영 테크블로그

    iOS 개발자를 위한 DocC 실무 튜토리얼

    코드 주석과 문서가 따로 관리되어 업데이트가 지연되고, 빌드 관련 문의가 매 릴리즈마다 15~20건씩 반복됐다.