workspace를 만들지 않고 SwiftLint를 CocoaPods로 관리

리포지토리의 swiftlint 버전을 고정하고 싶을 때.

Carthage는 바이너리 배포를 지원하지 않기 때문에 CocoaPods에서 관리한다.
하지만, 다른 라이브러리를 Carthage에서 관리하고 있는 경우, 바이너리를 이용하기 위해서만 xcworkspace 를 사용하는 것은 기분 좋지 않기 때문에 옵션을 찾아 보았다.

CocoaPods/CocoaPods



문서에는 xcworkspace 를 만들지 않게 하는 옵션에 대한 기술이 보이지 않았기 때문에 소스 코드를 읽기로 했다. (간과할 수 있을지도)



분명히 integrate_targetsfalse로 설정하면 create_workspace가 실행되지 않는 것 같습니다.
시도에 다음 Podfile에서 시도한 결과 Pods 디렉토리 만 생성되었습니다. xcworkspace 없는 깨끗한 세계 완성

Podfile
platform :ios, '11.0'

install! 'cocoapods', :integrate_targets => false
target 'App' do
  pod 'SwiftLint'
end

주의점


integrate_targetsfalse로 설정하면 $PODS_ROOT와 같은 환경 변수를 사용할 수 없습니다.
따라서 $PODS_ROOT${SRC_ROOT}/Pods로 바꿔야합니다.

좋은 웹페이지 즐겨찾기