[iOS] M1 Mac CocoaPods 라이브러리 추가하기

Hoojeong Kim·2022년 4월 4일
0
post-thumbnail

CocoaPods

CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. It has over 89 thousand libraries and is used in over 3 million apps. CocoaPods can help you scale your projects elegantly.

공식 홈페이지를 따르면, Objective-C 및 Swift Cocoa 프로젝트의 종속성 관리자라고 한다.

즉, CocoaPods은 Objective-C 또는 Swift에서 라이브러리를 사용할 수 있게 도와주는 모듈이다.


설치 방법

설치는 간단하다.

공식 홈페이지에 나와있는 대로, 다음 명령어를 입력해 설치하기만 하면 된다.

sudo gem install cocoapods

사용 방법

설치한 CocodPods을 사용해 프로젝트에 라이브러리를 추가해보자.

먼저, 이번에 사용할 라이브러리는 Alamofire이다.

💡 Alamofire란?

Alamofire는 iOS, macOS를 위한 Swift 기반 HTTP 네트워킹 라이브러리이다.

애플에서 자체적으로 네트워크 통신을 위해 제공하는 URLSession API가 있는데, 이를 보완한 것이 Alamofire라고 생각하면 된다.

Alamofire에서는 다양한 기능을 제공하고 있는데, 자세한 내용은 Alamofire github에서 확인하자.


프로젝트 생성하기

먼저 Xcode를 열어, 프로젝트를 생성한다.


Podfile 추가하기

터미널 창을 열어, 생성한 프로젝트 폴더로 이동한다.

이후 다음 명령어을 입력한다.

pod init

명령어 입력 후, 프로젝트 폴더에 들어가보면 Podfile 파일이 생성된 것을 확인할 수 있다.


라이브러리 추가하기

생성된 Podfile 파일을 열어, 다음과 같이 추가하고 싶은 라이브러리를 입력한다.

Alamofire 라이브러리를 추가한다면, 다음 명령어를 입력하면 된다.

pod 'Alamofire', '~> 5.5'

이후, 파일을 저장한다.


라이브러리 설치하기

Podfile을 수정했다면, 아까 그 터미널 창에서 다음 명령어를 입력해 라이브러리를 설치한다.

pod install

하지만!

이렇게 하면 M1 mac에서 오류가 발생한다.

You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: https://www.ruby-lang.org/bugreport.html

[IMPORTANT]
Don't forget to include the Crash Report log file under
DiagnosticReports directory in bug reports.

해결 방법은 다음과 같다.

sudo arch -x86_64 gem install ffi
arch -x86_64 pod install

M1이 arm 기반이기 때문에 발생한 호환성 문제로, 아키텍처를 x86_64으로 지정하여 Ruby FFI 라이브러리를 재설치해야 한다.

pod install 명령어 수행 시에도 호환성 문제가 발생하므로, 아키텍처를 x86_64으로 지정해야 한다.


이렇게 하면 성공!


📌 참고

설치 완료 후, 터미널 창을 보면 다음과 같이 설명하고 있다.

[!] Please close any current Xcode sessions and use `test.xcworkspace` for this project from now on.
Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.

라이브러리 설치 이후에는 프로젝트 폴더의 .xcodeproj 파일이 아닌, .xcworkspace 파일을 실행해야 한다.


.xcodeproj는 프로젝트 설정 파일이 들어있지만, .xcworkspace는 workspace와 프로젝트에 대한 파일이 들어있다.

때문에 CocoaPods을 사용해 외부 라이브러리를 프로젝트 내에 추가한 경우, .xcworkspace가 프로젝트와 외부 라이브러리를 연결해준다.


이러한 이유로, 외부 라이브러리를 추가했을 때는 .xcworkspace 파일을 통해 프로젝트를 실행해야 한다.

만약 .xcodeproj로 프로젝트를 실행할 경우, 오류가 발생한다.

profile
나 애기 개발자 👶🏻

0개의 댓글