project/개발 업무

Tuist CocoaPod 연동

lgvv 2025. 7. 5. 22:31

Tuist CocoaPod 연동

 

Tuist에서 CocoaPod을 연동하고자 함.
 
 

 

폴더 구조

루트 폴더에서 아래와 같은 형태로 Podfile을 생성함.

Dailytodo/
├── Podfile ✅
├── Tuist.swift
├── Workspace.swift
├── Projects/
└── Dailytodo.xcworkspace

 

Podfile 작성

프로젝트 구조에 따라 cocoapod 의존성이 필요한 부분에 모두 작성해줌.
 

```
platform :ios, '16.0'
use_frameworks!
inhibit_all_warnings!

workspace 'Dailytodo.xcworkspace'
project 'Projects/App/Dailytodo/Dailytodo.xcodeproj'
project 'Projects/Core/Network/Network.xcodeproj'

target 'Dailytodo' do
  project 'Projects/App/Dailytodo/Dailytodo.xcodeproj'

  pod 'Alamofire', '5.10.2'
  
end

target 'Network' do
  project 'Projects/Core/Network/Network.xcodeproj'

  pod 'Alamofire', '5.10.2'
  
end
```

 

Podfile 설치 및 실행

CocoaPods 설치를 위해 Podfile을 작성했다면, 다음 순서로 명령어를 실행.

$ tuist generate
$ pod install

 

(순서에 유의해야 하는 이유)

tuist generate는 .xcodeproj 및 .xcworkspace를 생성함.
Tuist 프로젝트는 .xcodeproj가 아닌 .xcworkspace 기반으로 작동하므로, 반드시 tuist generate를 먼저 실행한 뒤에 pod install을 수행해야 Pods 관련 설정이 정상적으로 반영.
 
 

Configurations (xccofing)

Configuration을 사용하고 있다면 cocoapod에서 생성한 .xcconfig 파일ㅇ르 명시적으로 포함시켜야 빌드가 정상적으로 동작

즉, 각 Scheme별로 .xcconfig 파일을 pod에 포함하도록 코드를 수정해주어야 함.

 

// 개발버전
#include "../../Pods/Target Support Files/Pods-Dailytodo/Pods-Dailytodo.debug.xcconfig

// 배포버전
#include "../../Pods/Target Support Files/Pods-Dailytodo/Pods-Dailytodo.release.xcconfig


 

CI/CD 

cocoapod을 설치해야 하므로 makefile을 수정해 자동화 적용

generate:
  @tuist generate --no-open
  pod install
  open Dailytodo.xcworkspace