반응형
이번에 회사에서 소셜로그인을 담당하게 되어 작업 중이었는데 Tuist 사용하는 프로젝트에 Google Sign-In 라이브러리가 추가시 빌드 에러가 발생하였습니다.
could not build module 'GTMAppAuth
대충 이런 종류에 모듈을 찾을 수 없다는 에러가 마구마구 떠버려 몇시간을 서치한 결과..
트위스트 에러였습니다.
GoogleSignIn 6.2.0 이후 버전에는 트위스트에서 특정 헤더를 찾지 못하는 버그가 있어 이런 에러가 발생한 것이였습니다. 다시 여러번 시도해보니 6.2.0 버전은 정상적으로 빌드가 가능했습니다.
하지만 7.0.0 부터 swift concurrency와 info.plist에 키를 넣을 수 있는 등 여러 기능이 추가되었기 때문에.. 깃 이슈를 살펴본 결과 해결 방법을 찾았습니다.
해결한 방법은 매우 간단했습니다. 구글 로그인을 사용하는 모듈에 Build Setting에 넣어주는 방법
"HEADER_SEARCH_PATHS": [
"$(inherited)",
"$(SRCROOT)/../../Tuist/Dependencies/SwiftPackageManager/.build/checkouts/GTMAppAuth/GTMAppAuth/Sources/Public/GTMAppAuth"
"$(SRCROOT)/../../Tuist/Dependencies/SwiftPackageManager/.build/checkouts/gtm-session-fetcher/Sources/Core/Public"
],
"OTHER_LDFLAGS" : "-ObjC"
저는 XCConfig 파일에 path를 추가하여 해결하였습니다.
// Base.xcconfig
// Google Login https://github.com/tuist/tuist/issues/4688
HEADER_SEARCH_PATHS = "$(inherited)" "$(SRCROOT)/../../Tuist/Dependencies/SwiftPackageManager/.build/checkouts/GTMAppAuth/GTMAppAuth/Sources/Public/GTMAppAuth" "$(SRCROOT)/../../Tuist/Dependencies/SwiftPackageManager/.build/checkouts/gtm-session-fetcher/Sources/Core/Public"
OTHER_LDFLAGS = -ObjC
반응형
'공부 > ios' 카테고리의 다른 글
[Swift] Hashable이 Equatable을 채택하는 진짜 이유 (1) | 2024.01.14 |
---|