본문으로 이동
CocoaPods 없이 React Native 개발하기
문서

CocoaPods 없이 React Native 개발하기

오진성 토스 · 토스 기술 블로그

원문 보기

AI 핵심 요약

운영 중인 iOS 앱에 React Native를 부분 도입할 때 CocoaPods를 기존 의존성 관리 도구와 함께 쓰면 의존성 중복이나 빌드 실패가 생길 수 있습니다. 이를 피하기 위해 React Native 라이브러리를 CocoaPods로 미리 빌드해 XCFramework로 만들고, 이를 binaryTarget으로 담은 Swift Package를 생성하는 Prebuild 방식을 제안합니다. 빌드 스크립트는 시뮬레이터와 기기용 아카이브를 만든 뒤 XCFramework와 Package.swift를 생성하며, 운영 프로젝트는 Swift Package Manager로 패키지를 추가합니다. 이 방식은 앱의 의존성 관리 도구를 하나로 유지하고 React Native 코드의 반복 빌드 부담을 줄이는 데 목적이 있습니다.

  • 여러 의존성 관리 도구는 서로의 의존성 그래프를 알지 못해 같은 라이브러리가 중복되거나 빌드가 실패할 수 있습니다.
  • 의존성 충돌을 피하려고 라이브러리를 포크해 podspec을 수정한다면, 변경 이력과 원본 대비 차이를 지속적으로 관리해야 합니다.
  • React Native 의존성을 CocoaPods로 설치한 뒤 시뮬레이터와 기기용으로 각각 아카이브하고 XCFramework로 묶을 수 있습니다.
  • 생성한 XCFramework를 Swift Package의 binaryTarget으로 등록하면 운영 앱에서는 Swift Package Manager로 React Native를 가져올 수 있습니다.

소개

토스와 비슷하게 많은 회사들이 각자 다른 이유로 운영 중인 서비스를 크로스 플랫폼으로 확장하고자 React Native를 도입하려고 할 거예요. 이런 경우에 CocoaPods를 사용하지 않고 React Native를 도입하는 방법을 알려드릴게요.

비슷한 학습 자료

컨퍼런스 SLASH

웹과 유사한 개발 경험을 제공하는 React Native, 디버깅 경험은 과연 어떨까요? 토스에서 자체 디버깅 도구를 만들어 생산성을 끌어올리게 된 과정을 소개합니다. 이근혁 / 토스 Frontend Platform Engineer 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://toss.im/slash-24 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #토스 #개발자컨퍼런스 #SLASH #SLASH24 #frontend #reactnative 유의 사항 *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제외한 온라인상에 게재하는 행위는 연사가 동의한 저작권 및 배포전송권에 위배됩니다. *토스가 다루는...

모바일 앱 개발 개발 도구

컨퍼런스 SLASH

토스의 사용자와 개발자 경험을 모두 개선해준 ‘React Native’, 도입 과정은 어땠을까요? React Native를 도입하는 과정에서 토스가 마주한 기술적인 도전과 그 해결 과정을 소개합니다. 박서진 / 토스 Frontend Chapter Lead 발표 자료 👉🏻 https://bit.ly/3CePOfI 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://bit.ly/43kW3tO 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #reactnative #사용자경험 #frontenddeveloper #토스 #개발자컨퍼런스 #SLASH *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제외한 온라인상에...

모바일 앱 개발

컨퍼런스 SLASH

토스 글로벌 팀이 React Native를 선택한 이유와 그 과정에 대해 소개합니다. 오진성 / 토스 iOS Developer 이현수 / 토스 Frontend Developer 발표 자료 👉🏻 https://bit.ly/3HgiypU 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://toss.im/slash-22 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im #토스 #개발자컨퍼런스 #SLASH

모바일 앱 개발

문서 이근혁

프론트엔드 개발 경험을 향상시키는 HMR(Hot Module Replacement)의 원리와 다양한 번들러가 HMR을 어떻게 지원하는지 살펴보고, ESBuild 기반 번들러를 직접 개발한 과정을 소개드려요.

프론트엔드 개발 도구

문서 임지훈

여러분은 라이브러리를 만들어봤거나, 만들어야겠다고 생각해본 적이 있나요? 이번에는 프론트엔드 개발 환경에서 높은 범용성을 나타내는 용어 중 하나인 “Framework Agnostic”에 대해 이야기 해보려고 합니다.

웹 개발 프론트엔드

문서 박서진

토스 프론트엔드 챕터는 어떻게 React Native 기술을 발전시켜 나갈 예정일까요?

프론트엔드 모바일 앱 개발