CocoaPods

CocoaPods
원저자엘로이 뒤랑
개발자벤 애셔, 디미트리스 쿠초기오르가스, 다니엘 랭커셔, 오르타 테록스, 폴 뷰스테리엔, 새뮤얼 기딘스
안정화 버전
1.16.2
미리보기 버전
2024년 10월 31일(19개월 전)(2024-10-31)[1]
프로그래밍 언어Ruby
플랫폼macOS, iOS, watchOS, tvOS
종류패키지 관리자
라이선스MIT 허가서
웹사이트cocoapods.org

CocoaPods애플리케이션 수준의 의존성 관리자로, 오브젝티브-C, 스위프트루비모션(RubyMotion)과 같이 오브젝티브-C 런타임에서 실행되는 기타 언어를 지원하며,[2] 외부 라이브러리를 관리하기 위한 표준 형식을 제공한다. 엘로이 뒤랑(Eloy Durán)과 파비오 펠로신(Fabio Pelosin)이 개발하였으며, 이들은 현재도 많은 사람들의 도움과 기여를 통해 프로젝트를 관리하고 있다.[3] 2011년 8월에 개발을 시작하여[4] 2011년 9월 1일에 첫 번째 공개 버전이 출시되었다.[5] CocoaPods는 루비 프로젝트인 RubyGems번들러의 조합에서 강한 영감을 받았다. 10만 3천 개 이상의 라이브러리를 보유하고 있으며 300만 개 이상의 에서 사용되고 있다고 밝히고 있다.[6]

CocoaPods는 서드파티 코드의 소스 기반 배포와 엑스코드 프로젝트로의 자동 통합에 중점을 둔다.

CocoaPods는 명령줄에서 실행되며 젯브레인즈AppCode 통합 개발 환경에도 통합되어 있다.[7] 소스 파일을 수동으로 복사하는 대신 의존성 명세를 통해 애플리케이션의 의존성(예: 라이브러리)을 설치한다.[8] 다양한 소스에서 설치하는 것 외에도, 수많은 오픈 소스 라이브러리의 메타데이터를 포함하는 "마스터" 스펙 저장소가 Git 저장소로 유지 관리되며 깃허브에 호스팅되어 있다.[9] CocoaPods의 의존성 해결 시스템은 Molinillo에 의해 구동되며, 이는 Bundler, RubyGems, Berkshelf와 같은 다른 대형 프로젝트에서도 사용된다.

예시

다음 Podfile 예시는 AFNetworkingCocoaLumberjack 라이브러리를 설치한다.

 platform :ios
 pod 'AFNetworking',    '~> 2.0.0'
 pod 'CocoaLumberjack', '< 1.7'

 target 'MyApp'

보안

2024년 7월, CocoaPods에서 공격자가 소유권이 없는 소프트웨어 패키지를 장악하고 애플리케이션에 악성 코드를 주입할 수 있는 여러 보안 취약점이 발견되었다. 이 문제들은 이후 패치되었으나, 약 10년 동안 수백만 개의 iOSmacOS 앱이 공급망 공격에 노출되었던 것으로 추정된다.[10][11][12]

유지 관리 모드

2024년 8월, 이 프로젝트는 13년 만에 유지 관리 모드로 전환되었다. 2015년 애플이 스위프트 패키지 매니저(SPM)를 발표하면서 유지 관리자들의 프로젝트 관여도가 약해졌으며, 업데이트는 주로 보안 수정이나 엑스코드 호환성 이슈에 의해 이루어졌다. 그럼에도 불구하고 리액트 네이티브플러터와 같은 프레임워크에서의 역할로 인해 CocoaPods의 사용은 계속되고 있으나, 많은 사용자들이 현재 그 존재나 내부 작동 방식을 인지하지 못하고 있다. 애플의 SPM이 후계자로 자리 잡고 활발한 개발이 감소함에 따라, CocoaPods 팀은 현재 프로젝트의 미래와 유지 관리 접근 방식을 재평가하고 있다.[13]

같이 보기

각주

외부 링크

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.