xCode 업그레이드시 plugin 로딩 문제 해결하기

xcode를 쓰다보면 소소하게 불편한 점들이 있다. 자연스럽게 그 불편함을 해결해 주는 plugin들을 찾아 쓰게 되는데, 이게 어느 단계에 오면 plugin 없이는 코딩을 할수없게 되는 단계에 이르게 된다.

xcode가 버전별로 다른 DVTPlugInCompatibilityUUID를 사용하는 덕에 매 버전업 때마다 plugin들이 로딩 되지 않는 문제들이 발생하곤 한다.

지금 쓰고 있는 xcode의 DVTPlugInCompatibilityUUID는 다음과 같이 확인할수 있다.

defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID

지금 사용중인 plugin들과 skip된 plugin들의 리스트는 다음과 같이 확인할수있다.

defaults read com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-[version]

plugin 파일의 내부 info.plist의 DVTPlugInCompatibilityUUIDs array에 지금 사용중인 xcode의 DVTPlugInCompatibilityUUID 값이 있어야 한다.

다음 명령어로 plugin에 일괄적으로 DVTPlugInCompatibilityUUID를 추가할수 있다.

find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add `defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID`

xCode를 재실행해도 plugin이 로딩되지 않는다면, xcode plugin 설정을 초기화해야한다.

defaults delete com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-[version]

초기화 이후에도 plugin 로딩에 문제가 있다면 xcode 설정을 초기화 해서 해결하는 방법도 있다.

sudo xcode-select --reset

추가..

mackup을 사용하는 경우는 아래와 같이 plugin에 일괄 적용이 가능하다.

find ~/Dropbox/Mackup/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add `defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID`
One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.