Mobile App Development/IOS
[ IOS ] 프로젝트 코코아팟 라이브러리(SnapKit) 적용
loopinger
2024. 5. 13. 17:02
1. 코코아팟이란?
Objective-C나 Swift로 작성된 프로젝트에 대해 라이브러리를 관리하고, 프로젝트의 의존성을 쉽고 효과적으로 통합할 수 있도록
설계된 의존성 관리 도구
루비로 작성되었으며, 수천 개의 공개 라이브러리에 쉽게 접근할 수 있는 중앙화된 저장소를 제공
2. 코코아팟설치
# 코코아팟 의존라이브러리 drb 설치
sudo gem install drb -v 2.0.6
# 코코아팟 의존라이브러리 activesupport 설치
sudo gem install activesupport -v 6.1.7.6
# 코코아팟 라이브러리 설치
sudo gem install cocoapods
# 코코아 팟 버전 확인
pod --version
3. 코코아팟 프로젝트 적용
# e.g. cd /path/to/directory
# .xcodeproj 파일이 위치한 프로젝트 경로 이동
# cd [xcodeproj파일이존재하는프로젝트경로]
# Pod파일 생성
pod init
# Podfile 변경(Snapkit 라이브러리 추가)
cat <<POD_INSTALL > Podfile
target '$(ls -d *.xcodeproj | rev | cut -d'.' -f2- | rev)' do
use_frameworks!
pod 'SnapKit'
end
POD_INSTALL
# Podfile을 변경하여 Pod 라이브러리 설치
pod install
# 실행중인 XCode 종료
osascript -e 'quit app "Xcode"'
# 생성된 xcworkspace 파일 실행
open $(ls -d *.xcworkspace)
프로젝트의 중요 시스템 리소스 접근을 허용 가능하도록 변경
4. 코코아팟 라이브러리 활용
// UIKitViewController.swift
import UIKit
import SnapKit
class UIKitViewController : UIViewController
{
override func viewDidLoad()
{
let customView = UIView()
customView.backgroundColor = .red
self.view.addSubview(customView)
customView.snp.makeConstraints
{ make in
make.center.equalToSuperview()
make.width.height.equalTo(100)
}
}
}
// ContentView.swift
import SwiftUI
struct ContentView : UIViewControllerRepresentable
{
func makeUIViewController(context: Context) -> UIKitViewController
{
UIKitViewController()
}
func updateUIViewController(_ uiViewController: UIKitViewController, context: Context)
{
}
}
#Preview
{
ContentView()
}