2011-10-11 3 views
3

"Apple 버전"프로젝트의 버전을 "Bundle versions string, short" 내 프로젝트의 "마케팅 버전"(예 : 2.0.1)과 빌드 번호 (예 : 42)로 "번들 버전"을 선택합니다.(iOS, XCode 4.2) Git post-commit hook을 사용하여 번들 버전을 설정하면 프로젝트가 Mac 프로젝트로 바뀝니다.

그 목적을 위해 후크 agvtool next-version -all에 전화를 걸었습니다. 사실이 작업은 - Info.plist이 버전 번호가 증가하면서 올바르게 업데이트되고 있습니다. 그것은 또한 분명히 맥 프로젝트에 내 아이폰 OS 프로젝트를 변환하는 불행한 부작용이있다 그러나

-iOS device, iPhone 5.0 simulator는 등 단일 항목, My Mac 64-bit로 대체 내 Scheme 메뉴에서 사라집니다. 다행스럽게도 Xcode를 종료하고 다시 시작하면 누락 된 iOS 구성표 항목을 다시 가져 오기 때문에이 변경 사항은 일시적인 것으로 보입니다.

내가 잘못 했나요? 내 목표를 달성하기위한 더 좋은 방법이 있습니까? 아니면 Xcode에서 이상한 버그에 맞서 싸웠습니까?

+0

나는이 버그를 Apple에 게시했습니다. – forthrin

답변

4

나는 정확히 같은 문제가있어, 대신 엑스 코드를 다시 실행의 난 그냥 목표 옵션에서 요약 탭에 배포 대상를 다시 선택하고 있습니다. 이것은 훨씬 빠릅니다.

+0

그래, 프로젝트를 닫고 다시 시작하는 것보다 훨씬 쉽습니다. Xcode 전체를 종료하고 다시 시작하는 것은 말할 것도 없습니다. :) –

1

XCode 4는 프로그램 자체가 포커스를 받았을 때만 프로젝트 파일을 구문 분석 한 XCode 3.2와 달리 변경 될 때마다 프로젝트 파일을 구문 분석하려고합니다.

나는 그 자체로 버그라고 부르지는 않겠지 만, 당연히 실망스러운 경험을합니다.

1

Fwiw, 필자는 iDevice를 연결하거나 연결을 끊을 때 스키마와 관련하여 이런 일이 발생하는 것을 보았습니다. Xcode는 내가 한 일에 대해 생각하지만 구성표 메뉴를 엉망으로 만듭니다. 프로젝트를 닫았다가 다시 열면 해결됩니다.

일반적으로 프로젝트 파일을 커밋하기 전에 닫아야합니다. 포스트 커밋 스크립트가 프로젝트 파일을 수정하는 경우에도 확실히이 작업을 수행 할 것입니다.