2012-03-15 3 views
1

명령 줄 도구에 종속 된 응용 프로그램을 구현하고 있습니다.
미리 설정할 사항이 있기 때문입니다.
명령 줄 도구는 앱에 필요한 모든 초기 정보 (분명히 말하면 앱에 초기 데이터를 추가하는 도구)를 사용하여 sqlite 파일을 작성해야합니다.Xcode 4 - 초기 설정이있는 명령 줄 대상

이제 문제는 디버깅하는 동안 모든 것이 잘 작동하지만 릴리스 빌드를 수행하면 일부 오류가 발생한다는 것입니다.
는 첫 번째 오류는 내 주요 응용 프로그램은 대상 종속과 같은 명령 행 도구를했기 때문에

target specifies product type 'com.apple.product-type.tool', but there's no such 
product type for the 'iphoneos' platform" 

이이었다. 이제 문제는, 나는 다음과 같은 오류 얻을됩니다

#Build the initial setup target 
xcodebuild -target InitialCoreDataSetup -sdk macosx -configuration $CONFIGURATION 

#Run initializing data target to get current sqlite file 
cd "$CONFIGURATION_BUILD_DIR" 
cd .. 
cd "$CONFIGURATION" 
current_dir=$(pwd) 
./InitialCoreDataSetup "$current_dir" "$SRCROOT" "$CONFIGURATION" 

:

=== BUILD NATIVE TARGET InitialCoreDataSetup OF PROJECT XY WITH CONFIGURATION AdHoc  === 
Check dependencies 
SDK Configuration Error: no wrapper for product type @ 

을 내가 전혀 생각이 없다 나는 대상 의존성을 제거하여이 문제를 해결하고 실행 스크립트 단계로 빌드를 추가 이 문제를 해결하는 방법. 제안 사항이 있으십니까?

어떻게 앱에 초기 sqlite 파일을 제공합니까?

미리 도움을 청하십시오!
EDIT 순간 내 응용 프로그램 대상의 빌드 단계는 다음과 같습니다 enter image description here

답변

1

은 BTW : 나는 마침내 가지고 그 다음 라인으로 작업 :

#Build the initial setup target 
export DYLD_FRAMEWORK_PATH="$SYMROOT/Debug" 
/usr/bin/env -i xcodebuild -target InitialCoreDataSetup -sdk "macosx" -configuration Debug OBJROOT="$SYMROOT/Debug" SYMROOT="$SYMROOT" 
echo "$SYMROOT/Debug" 
#Run initializing data target to get current sqlite file 
cd "$SYMROOT/Debug" 
./InitialCoreDataSetup "$SYMROOT/Debug" "$SRCROOT" "$CONFIGURATION" 

트릭은, 디버그 모드에서 항상 initialCoreDataSetup을 시작

+0

'/ usr/bin/env -i'를 사용하여 xcodebuild를 호출하면 다음 메시지가 나타납니다 :'SDK 구성 오류 : 제품 유형에 대한 래퍼가 없습니다. ' 감사 – Berik

0
당신은을 사용하여 sqllite 파일을 생성 할 수 있어야하기 때문에 내가 엑스 코드를시키는 제안

은이 상황에서 빌드를 수행 다른 빌드 규칙을 실행하기 전에 스크립트를 실행하는 규칙을 작성하십시오.

enter image description here

+0

좋아 당신이 조금 지정할 수 있습니다 ? 내 기본 응용 프로그램 대상에서 InitialCoreDataSetup 대상에 대한 대상 종속성이 필요합니다. 그리고 대상 종속성을 통해 xcode로 작성된 대상을 실행하려면 위의 스크립트로 빌드 규칙을 응용 프로그램 대상에 추가하십시오. – Alexander

+0

Build Phase (당신의 대답에 당신이 가지고있는 것)는 내가 제안한 Build Rule보다 좋은 장소라고 생각합니다. 당신이 이것을 할 때 여전히 문제에 부딪 히고 있습니까? 그리고 그 문제는 무엇입니까? – Sam