본문 바로가기
iOS/설명

[iOS] Keep Xcode version vs Use version on Disk

by Sky Titan 2022. 8. 20.
728x90

 

 

Difference between "Keep Xcode Version" vs. "Use Version on Disk"?

When I use git, I usually change between branches and my iOSBaseSDK.xcworkspace file is modified. When this happen my Xcode shows the following alert: The file "YourProject.xcworkspace"...

 

stackoverflow.com

 

[Solved] Keep Xcode version VS. Use version on disk

xct789 Asks: Keep Xcode version VS. Use version on disk I've read all the answers online for this question but none help. So far, I know: For DISK VERSION: select this option to use Xcode changes which are stored ON THE DISK (re: after a pod install). sele

solveforum.com

Xcode Project에 속해있는 파일을 Xcode 밖에서 수정하고 다른 브랜치로 체크아웃 했을 때, 아래와 같은 alert가 뜨게 된다.

변경된 브랜치의 폴더트리 상태가 이전 브랜치와 다름.

Disk version

  • disk에 저장되어 있는 Xcode 변경을 사용하는 것 (Pod install 할 때)
    • code에 있는 module이나 file들이 Xcode 참조에 존재하지 않을 수 있음
  • switch한 새로운 branch에 있는 코드를 사용하는 것 (새로운 Git branch로 switch할 때)
    • file change가 발생하지 않는다.

 

Xcode version

  • memory에 저장되어있는 Xcode 변경을 사용하는 것 (Pod install 할 때)
    • Xcode에 남아있는 file 참조들이 disk 상에서는 존재하지 않을 수 있음
  • Checkout하기전, 더 이상 속해있지 않은 branch의 코드를 사용하는 것 (새로운 Git branch로 switch할 때)
    • file change가 발생한다.

 

예시

master, XcodeTest 2가지 브랜치가 존재하는 상황

 

 XcodeTest 브랜치에서 TasExample이라는 프로젝트의 참조를 삭제한다.

 

 

master브랜치로 체크아웃하면 체크아웃한 master브랜치의 .xcworkspacedata의 폴더트리와 Xcode에 있는 폴더트리가 일치하지 않아 다음 팝업이 발생.

master 브랜치의 폴더트리엔 TasExample이 존재하나 Xcode에선 없는 상태

 

1. Keep Xcode version 클릭

 master 브랜치의 폴더트리를 현재 Xcode의 폴더 트리에 맞추어서 Code change가 발생하게 된다.

 

2. Use version on disk

 master 브랜치의 폴더트리를 그대로 사용하기 때문에 Code change는 발생하지 않으나, 여전히 Xcode에선 TasExample프로젝트를 인식하지 못하기 때문에 수동으로 import해주어야 함.

728x90

'iOS > 설명' 카테고리의 다른 글

[iOS] Custom Container ViewController  (0) 2022.08.21
[iOS] iOS Keychain  (0) 2022.08.20
[iOS] Xcode 저장공간  (0) 2022.08.17
[iOS] UIScrollView contentInsetAdjustmentBehavior  (0) 2022.08.02
[iOS] IPA 파일  (0) 2022.08.02

댓글