2009-10-12 4 views
8

많은 분들이 동일한 시나리오를 경험했습니다. 벽과 머리를 맞대고 앱이 잘못되어 궁금해 할 때만 인터페이스를 저장하는 것을 잊어 버렸습니다. 작성자가 변경됩니다.Xcode에서 빌드 할 때 인터페이스 빌더를 저장하면 변경됨

글쎄, 어떤 이유로 Xcode는 빌드 할 때마다 인터페이스 빌더의 변경 사항을 저장하라는 메시지를 표시하기 때문에 절대로 발생하지 않습니다. 동료와 나는 그의 기계에서 이것을 어떻게 바꿀 것인지를 알아 내려고 노력하고있다. 성공하지 못했다. 나는 이것을 구성하기 위해 아이폰 개발 초기 단계에서 무엇인가를했을 것이다.

IB를 빌드하는 동안 IB 파일에 변경 사항을 저장하라는 메시지가 표시되도록 IB와 Xcode를 연결하는 방법을 아는 사람이 있습니까?

+1

난 그냥 스노우 레오파드로 업그레이드 현재뿐만 아니라 IB 내 통합을 잃었다을 관련이있을 수 있습니다. –

답변

1

이 너무 나를 위해 완벽하게 작동하는 데 사용하지만, 엑스 코드 3.0 작동을 멈췄습니다. 아마 Xcode 2.x에서 활성화 된 것들이 있기 때문에 일부 숨겨진 설정이 있어야 할 것입니다. 그러나 발견하지 못했습니다.

내가 관심있는 사람들에게는 열려있는 모든 IB 문서를 저장하는 간단한 AppleScript를 호출하는과 관련된 해결 방법이 있습니다.다음 단계는 다음과 같습니다 /Users/myself/Programming/SaveIBFiles.scpt를)

tell application "Interface Builder" 
set num to count of documents 
if num > 0 then 
    repeat with i from 1 to num 
    tell document i to save 
    end repeat 
end if 
end tell 

이 내 예를 에 (스크립트로 저장 :

1),이 라인을 따라 뭔가를 애플 스크립트 만들기)

3) 프로젝트에서 새 대상을 만듭니다. 그것은 "프로젝트"» "새 대상 ..."메뉴입니다. "기타"» "쉘 스크립트 대상"이 선택됩니다. 나는 그것을 "IB 파일 저장"이라고 이름을 붙였습니다.

4) "스크립트 실행"단계가 이미 포함되어 있습니다.

if [ -f "/Users/myself/Programming/SaveIBFiles.scpt" ]; then 
osascript "/Users/myself/Programming/SaveIBFiles.scpt" 
fi

5) 이제, 원래 대상을 선택의 정보를 원하시면, "일반"탭을 호출하고 : /bin/sh에서 셸을두고 스크립트 쓰기,이 스크립트 실행 단계, "일반"탭에 대한 정보를 불러 새 대상을 직접 종속성으로 추가하십시오.

이제 앱을 빌드 할 때마다 스크립트가 호출되고 열린 IB 파일을 저장 한 다음 주 대상을 컴파일합니다. 새 대상을 만들지 않고 기본 대상에 "스크립트 실행"빌드 단계 만 추가하면 저장이 너무 늦은 것 같습니다.

희망이 도움이됩니다.

+0

다른 해결책이없는 경우이 방법을 시도 할 것입니다. 현상금에 남은 며칠이 남았으니 다른 것들이 어떻게 나오는지 알고 싶습니다. 감사. –

+0

예,이 "네이티브"솔루션은 실제로 좋을 것입니다. – Pascal

+0

글쎄, 네이티브는 모든 제안을 시도한 후에 표면을 드러내지 않는 것처럼 보였으므로, 나는이 점을 지적했다. –

1

확실하지 않지만 Apple 개발 환경의 최신 버전이 설치되어 있습니까? 내 것이 미리 설정되었습니다.

+0

나는 레오파드를 실행 중이며 Xcode로 3.1.2 아이폰 개발 환경을 설치했다. –

3

누군가 다른 사람에게 same question (링크 : @balanon)이라고 물었습니다. irsk로 답 :

기이, 가 Xcode의 시작 화면에서 최근 문서 목록을 사용하여 파일> 엑스 코드에서 열기 최근 프로젝트 메뉴, 또는 을 사용하여 프로젝트를 열어 야기 될 것으로 보인다. 나는 파인더를 열거 나 에서 Apple 메뉴를 최근 항목 메뉴에서 프로젝트를 선택 에서 프로젝트 파일을 더블 클릭하면

는 인터페이스 빌더 엑스 코드의 연결은 그대로입니다.

는 모두 엑스 코드의 동일한 버전을 수행

여기 내 원래의 대답? Snow Leopard와 Xcode 3.2로 이전 한 이후 Xcode와 Interface Builder 사이의 링크는 이전 버전보다 강력하지 않았습니다. 이것은 꽤 널리 퍼져있는 것처럼 보입니다. 적어도 트위터에 대한 불평은 많이 보았습니다. 애플이이를 고치기를 바랍니다.

+0

스노우 레오파드 (Snow Leopard)의 경우일지도 모릅니다.하지만 작년에 iPhone 클래스에 있었고 xcode 및 IB 통합 작업을 수행하는 클래스 중 유일하게 수업에 참여했습니다. 우리 모두는 xcode의 동일한 버전과 동일한 버전의 Leopard를 사용했습니다. 강사는 왜 내 것이 효과가 있었는지 알지 못했고 다른 사람은 없었습니다. –

+0

Xcode 3.2.2에서 Snow Leopard를 사용하고 있습니다.이 솔루션은 저에게 적합하지 않았습니다. Apple 메뉴와 Finder를 사용하여 시도했습니다. – Senseful

1

설치 또는 업그레이드를 통해 설정이 제대로 전파되지 않을 수도 있습니다. "Unsaved Files"설정을 해제로 전환 해 보셨습니까? (XCode -> 환경 설정 -> 건물)

+0

시도해 보니 차이가없는 것 같습니다. 어쨌든 고마워. –

1

SnowLeopard 이전에는 IB를 만들 때 자동으로 변경 사항을 저장하는 데 사용되었습니다. 이제 수동으로 저장해야합니다. 그렇지 않으면 최신 변경 사항을 사용하지 않습니다. 또한 IB는 "최근 파일 열기"메뉴를 유지하거나 업데이트하지 않습니다 (비어 있음). Xcode 3.2와 함께 SnowLeopard에 있는지 친구와 확인하십시오.

+0

예, 제 동료가 스노우 레오파드와 xcodd에 있습니다. 3.2. –

1

xCode 프리 프레스와 관련이 있다고 생각합니다.

페이지의 "엑스 코드"-> "환경 설정"-> "건물"-> "저장되지 않은 파일의 경우"-> 옵션

+0

예, 이것은 시작하기에 분명 할 것입니다. 불행하게도 우리는 건물 앞에 저장하라는 메시지를 표시하도록 설정했습니다. 어딘가에서 Interface Builder 통합에 문제가 있습니다. –

2

그가 64 비트를 실행하는 동안 아마도 32 비트를 실행하고 있습니까?

64 비트에서 IB의 AppleEvent 기반 Xcode와의 통신 문제를 상기 해 보입니다.

1

파인더 창에서 xcode 프로젝트를 열어보십시오. 스노우 레오파드로 업그레이드 한 후에 프로젝트가 최근 파일 옵션에서로드 된 경우 xcode와 IB 사이의 링크가 끊어졌습니다.

이 대답은 Interface Builder and Xcode integration not working

+0

저는 Snow Leopard에서 Xcode 3.2.2를 사용하고 있으며,이 솔루션은 제게 적합하지 않았습니다. – Senseful

관련 문제