
CocoaPods 없이 React Native 개발하기
운영 중인 iOS 앱에 React Native를 도입할 때 CocoaPods 병행으로 생기는 의존성 문제를 정리했습니다. XCFramework로 미리 빌드해 Swift Package 형태로 포함하는 Prebuild 방식과 빌드 절차를 소개했습니다.

운영 중인 iOS 앱에 React Native를 도입할 때 CocoaPods 병행으로 생기는 의존성 문제를 정리했습니다. XCFramework로 미리 빌드해 Swift Package 형태로 포함하는 Prebuild 방식과 빌드 절차를 소개했습니다.


에이닷이 모바일 UI 테스트 자동화 도입을 검토한 과정을 공유했습니다.\n수동 QA의 한계를 줄이기 위해 Espresso와 XCTest를 선택하고 Zephyr 연동 방향까지 정리했습니다.
![[APP] 라이브방송에서 360 영상을 보여줄 수 있을까?](https://miro.medium.com/v2/resize:fit:1200/1*UgGw64douyfIFpmS9GuJFQ.png)

360° 영상을 라이브 방송에 적용할 수 있는지 여러 장비와 송출 방식으로 테스트했습니다. 정상 재생은 확인했지만 지연과 화질, 제작 환경 등 상용화 과제가 남았습니다.

일본 배달 앱 데마에칸의 코드베이스와 아키텍처를 전면 교체한 Recode 프로젝트를 소개했습니다. UI는 유지하되 보안, 안정성, 테스트 가능성을 높이기 위해 앱 4개를 다시 개발했습니다.


SwiftUI View에서 `task`의 실행 맥락과 `MainActor` 보장 여부를 살펴보셨습니다. Swift 6에서는 property wrapper에 의한 actor inference가 제거되므로 `@MainActor` 명시가 중요합니다.

Beacon API로 클릭 로그 수집을 전환해 페이지 이탈 시 유실을 줄이고 안정성을 높였습니다. 점진적 실험과 분석으로 사용자 경험까지 함께 정상화했습니다.
쿠팡 파트너스
이 게시물은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

X


SwiftUI ScrollView의 기본 구조와 iOS 버전별 주요 API 변화를 정리했습니다. 또한 UIScrollView와의 차이와 대용량 콘텐츠에서의 성능 주의점도 함께 살펴보았습니다.


CallKit 환경에서 AVAudioSession을 어떻게 설정하고 관리해야 하는지 정리한 글입니다.\n통화 중 오디오 이슈, 라우팅 변경, 인터럽트 대응 방법을 샘플 코드 기반으로 설명했습니다.


Swift Package Manager를 이용한 디자인 시스템 라이브러리 배포와 버전 관리 전략을 정리했습니다. Semantic Versioning과 `@available`로 호환성과 팀 간 커뮤니케이션을 개선하는 방법을 소개했습니다.


라이브 게임의 메모리 증가 원인을 프로파일링으로 분석하고, 불필요 리소스 정리와 압축 설정 통일로 사용량을 줄였습니다. 결과적으로 클라이언트 메모리는 약 30%, 앱 용량은 약 26% 감소했습니다.


여기어때 iOS 앱에서 RxSwift 의존성을 줄이고 Combine과 Async/Await 기반으로 네트워크 구조를 리팩토링했습니다. 전면 로딩바 대신 화면별 로딩 상태를 처리해 사용자 상호작용도 개선했습니다.