2014년 7월 22일 화요일

Xcode 6 Beta 4 플레이그라운드 오류

Xcode 6 Beta 4에서 부터는 플레이그라운드(Playground)와 관련해 뭔가 변화가 생긴 것 같다. 공유 데이터를 처리할 목적으로 어떤 디렉토리가 필요한데 이걸 자동으로 만들지 못 하는건지 아니면 원래 정상인데 Xcode의 버그인지 잘은 모르겠지만...

만약 플레이그라운드를 열고 코딩을 하는데 콘솔(어시스턴트 에디터)에 아래와 같은 오류가 표시된다면 이 문제에 해당된다:
Unable to create symlink at /Users/USERNAME/Library/Containers/com.apple.dt.playground.stub.OSX.MyPlayground-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Data/Documents/Shared Playground Data due to error: Optional(Error Domain=NSCocoaErrorDomain Code=516 "The file “Shared Playground Data” couldn’t be saved in the folder “Documents” because a file with the same name already exists." UserInfo=0xblahblahblah {NSFilePath=/Users/USERNAME/Library/Containers/com.apple.dt.playground.stub.OSX.MyPlayground-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Data/Documents/Shared Playground Data, NSUnderlyingError=0xblahblahblah "The operation couldn’t be completed. File exists"})
뭔가 무서운(?) 내용 같지만 알고보면 간단한 에러다. 첫 줄에 Unable to craete symlink 라는 문구가 보인다. 파일 시스템에서 심볼릭 링크(symlink는 symbolic link의 약자)를 만들다 오류가 났다는 걸로 이해가 된다.

그렇다면 무엇의 링크를 만들다 오류가 났을까. 위에서 굵게 볼드처리한 디렉토리가 해당된다. 터미널이나 파인더에서 위 디렉토리의 상위 디렉토리를 찾아 들어가 보자. 위의 경우 마지막 Shared Playground Data 라는 디렉토리의 상위인 Documents 디렉토리까지만 들어가보자. 터미널에서 ls -l 명령을 통해서 아래와 같이 링크의 내용을 확인 할 수 있다.


링크가 어디로 연결되는지 보인다. 사용자의 Documents 디렉토리에 'Shared Playground Data' 라는 디렉토리로 심볼릭 링크를 걸어놨다.

하지만 이 디렉토리는 존재하지 않을 것이다. 오류가 발생하고 있잖아?! :-)

그렇다면 해결책은? 당연히 이 디렉토리(폴더)를 만들면 된다.

파일더로 사용자의 도큐먼트(Documents) 폴더에 들어가서 'Shared Playground Data' 라는 폴더를 만들어주자. 그러면 위 에러는 깔끔하게 해결된다.
내 도큐먼트 폴더는 좀 지저분하다. 어쨌거나 선택된 것 처럼 폴더를 하나 만들어주면 끝이다. (동영상이 많은데 야동은 절대로 아니다 -_- 스크린캐스트 파일들임!)

이런거 그냥 자동으로 만들어주면 될텐데 왜 이랬을까. 아마도 Xcode 개발자들은 미리 디렉토리 만들어두고 개발하느라 테스트가 제대로 안되었을 가능성이 높다 -_-;;

댓글 없음 :