9-4 TroubleShooting ( Kickboard)

STONE·2024년 12월 19일

Swift_Ios

목록 보기
31/44

주제

Kickboard TroubleShooting

배경

카카오맵 api를 사용함에 있어서 SPM(Swift Package Manager), CocoaPods는 종속성 관리 도구로, 외부 라이브러리를 쉽게 프로젝트에 통합할 수 있게 해주는 도구이다.

발단

먼저 카카오맵 api를 사용하고자 KakaoDevelopers에서 등록을 하고 SPM 링크를 가져와 Xcode에서 설치를 진행하였고 카카오맵 api의 패키지 이름이 KakaoMapsSDK-SPM 이였는데 갑자기 오류가 발생했다. Xcode에서는 -(하이픈)을 인식하지 못한다는 것이였다.

위기

그래서 차선책으로 CocoaPods으로 종속성을 설치하였지만 SPM과 CocoaPods 두개 동시에 설치 되어 있어서 오류가 발생하여 SPM 한 쪽을 삭제하고 CocoaPods으로 진행하였다.

절정

그러나 CocoaPods으로 설치한 카카오맵 라이브러리도 오류가 발생하는데 바로 Xcode SandBox오류가 발생했다. 아래의 메시지와 함께

Sandbox: rsync.samba(86400) deny(1) file-read-data /Users/gimseogjun/Library/Developer/Xcode/DerivedData/nbc-kickboard-gfmdvaxelvkbqafwyfrmzpyktgci/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/KakaoMapsSDK/KakaoMapsSDK.framework/_CodeSignature
Sandbox: rsync.samba(86401) deny(1) file-write-create /Users/gimseogjun/Library/Developer/Xcode/DerivedData/nbc-kickboard-gfmdvaxelvkbqafwyfrmzpyktgci/Build/Products/Debug-iphonesimulator/nbc-kickboard.app/Frameworks/KakaoMapsSDK.framework/_CodeSignature
Sandbox: rsync.samba(86400) deny(1) file-read-data /Users/gimseogjun/Library/Developer/Xcode/DerivedData/nbc-kickboard-gfmdvaxelvkbqafwyfrmzpyktgci/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/KakaoMapsSDK/KakaoMapsSDK.framework/Info.plist
Sandbox: rsync.samba(86402) deny(1) file-write-create /Users/gimseogjun/Library/Developer/Xcode/DerivedData/nbc-kickboard-gfmdvaxelvkbqafwyfrmzpyktgci/Build/Products/Debug-iphonesimulator/nbc-kickboard.app/Frameworks/KakaoMapsSDK.framework/.KakaoMapsSDK.IbS4PQ
Sandbox: rsync.samba(86400) deny(1) file-read-data /Users/gimseogjun/Library/Developer/Xcode/DerivedData/nbc-kickboard-gfmdvaxelvkbqafwyfrmzpyktgci/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/KakaoMapsSDK/KakaoMapsSDK.framework/PrivacyInfo.xcprivacy

SandBox오류를 해결하고자 튜터님께 질문 후
프로젝트 -> build Settings -> Build Options -> User Script Sandboxing에서 yes를 no로 바꿔주면 된다

결말

위의 문제를 해결한 후 CocoaPods으로 카카오API를 설치하였고 성공적으로 API 연동이 되었고 잘 돌아갔다. 하지만 git에 push를 하니 엄청난 파일의 갯수가 같이 올라갔다. CocoaPods으로 설치한 라이브러리가 함께 올라가서 PR의 양이 방대해지고 보기 힘들어지는 문제가 발생했다. 그래서 해결하고자 팀원들의 로컬에서 Pods를 제외한 부분을 내려받고 따로 SPM으로 설치를 한 후 진행해보았는데 팀원들의 로컬에선 또 SPM이 잘 돌아갔다. (예??) 그래서 내 브랜치를 다시 삭제한 후에 팀원들의 SPM설치를 한 것을 내려받아 성공적으로 SPM으로 API 연동 후 프로젝트를 수행 할 수 있었다.

의문

왜 내 환경에선 SPM이 안되었을까..?

profile
흠...?

0개의 댓글