.xcodeproj 파일과 Xcode 4.2 베타 간의 지속적인 연관성을 어떻게 없앨 수 있습니까?


1

/ Developer에 Xcode 4.0.2가 설치되어 있고 / XcodeBeta에 Xcode 4.2 베타가 설치되어 있습니다. 내 문제는 .xcodeproj 파일 형식이 이제 Xcode 4.2와 연결되어 있으며 Xcode 4.0.2로 변경할 수 없다는 것입니다.

나는 Xcode (4.0.2)를 선택하여 .xcodeproj 파일에 대한 정보 입수를 시도했다. 다음으로 열기 : 드롭 다운하고 클릭하십시오. 모두 바꾸기 ... , 그 시점에서 Xcode의 버전은 다음으로 열기 : 드롭 다운은 Xcode 4.2로 다시 넘기고 파일 유형 연결은 Xcode 4.2와 함께 유지됩니다.

내 Launch Services DB를 사용하여 lsregister -kill -domain local -domain system -domain user Launch Services DB에서 /XcodeBeta/Applications/Xcode.app에 대한 참조를 제거합니다 ( lsregister -dump ), 다음 번에 Xcode의 해당 버전을 시작하면 Launch Services로 다시 등록되고 모든 파일 연결을 다시 납치합니다. 그것은 나를 변덕스러운 운전!

(덧붙여 말하면, 이것은 .plist와 같은 Xcode와 관련된 다른 파일 유형에도 영향을 미치지 만 실제로 .xcodeproj가 내 고통을 초래합니다.)

어떤 아이디어?


@VxJasonxV는 편집 해 주셔서 감사하지만 처음부터 제목이 정확했습니다. 사용중인 Xcode 베타 버전이 4.2.2가 아니라 4.0.2입니다.
Simon Whitaker

어프. 미안합니다. 4.0.2는 베타 버전이 아닙니다. 정신 우연. (그리고 내가 지난 밤에 만들었던 유일한 사람이 아니라. .. yuck.)
Jason Salaz

답변:


2

RCDefaultApp prefpane을 사용하십시오. 너는 그것을 얻을 수있다. http://www.rubicode.com/Software/RCDefaultApp/

열어 UTIs를 선택하고 아래로 스크롤하십시오. com.apple.xcode.project . RCDefaultApp screenshot

오른쪽에서 어떤 파일 형식이 어떤 응용 프로그램과 연결되어 있는지 변경할 수 있습니다. 무능하게하다 협회는 완전히


편집하다 : 또 다른 대안은 마법 발사 동일한 종류의 파일 연결 재정의를 허용합니다.

그것을 열고, Xcode 프로젝트 파일을 왼쪽의 창으로 드래그하고, 오른쪽에있는 Default Application을 적절한 Xcode 버전으로 설정하십시오.

Magic Launch screenshot


이것은 맞지만 문제는 번들 com.apple.xcode.project가 또한 다른 Xcode에서 사용되므로 충돌이 발생합니다.
Martin Marconcini

나는 그 점을 이해하지 못한다. 왜 이것이 문제입니까? 이게 정확히 그가 원하는 것이 아닌가요? 연결된 응용 프로그램을 변경하려면? UTI는 항상 하나의 응용 프로그램에만 연결되므로 이름을 사용합니다. 그리고이 프리 페인은 당신이 그것을 바꿀 수있게합니다.
Max Ried

1
많은 감사합니다, 나는 이것이 (슬프게도!) 앞으로의 유일한 길이라고 생각합니다. 실제로 RCDefaultApp 대신 약간 덜 복잡한 Magic Launch를 사용했습니다. 당신이 내가 작성한 커뮤니티 위키로 답을 만들었고 다른 사람들의 이익을 위해 Magic Launch의 세부 사항을 추가했습니다. 50 가지의 명성을 얻으십시오! :)
Simon Whitaker

0

Xcode가 여러 버전에서 동일한 번들 식별자를 사용하기 때문에 발생합니다. 베타의 Xcode.app 이름을 XcodeBeta.app와 같은 이름으로 바꿀 수도 있습니다. LaunchServices는 XcodeBeta.app가 실제로 더 오래된 것으로 생각하고 다른 버전으로 .xcodeproj 파일을 열도록해야합니다. 그것은 진정한 해결책은 아니지만, 이것은 유일한 방법 (Xcode의 번들 식별자 변경의 부족함)을 말할 수있는 범위 내입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.