2013-01-10 2 views
3

this tutorial을 사용하여 내 앱에서 간단한 설정 번들을 만듭니다. 것은 릴리스 버전에서 설정을 완전히 숨기고 그 작업을 수행 할 수있는 방법을 찾을 수 없다는 것입니다. 나는 this question을 읽었지만 여전히 나에게 명확하지 않다. 설정 표시 디버그 모드에만 번들

사전

에서

덕분에 나는이 대상에서 Settings.bundle을 제거하고 위상을 구축하기 위해이 스크립트를 추가 달성하기 위해 관리 :

if [ ${CONFIGURATION} == "Debug" ]; then 
cp -r ${PROJECT_DIR}/HotelZilla/Classes/Settings/Settings.bundle ${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app 
fi 

을하지만 여전히 문제가있다. 앱을 제거한 다음 릴리스 구성표 모드에서 실행하면 설정 번들이 나타나지 않습니다. 그런 다음 디버그 구성으로 변경하고 다시 작성하면 설정이 표시되지만 릴리스로 다시 전환하면 설정이 그대로 남아 있으므로 릴리스 앱에 설정을 추가하면 번들을 다시 삭제할 수 없습니다. 그게 맞습니까?

답변

5

설정에 설정 묶음을 사용하는 경우에는 릴리스 구성에서 앱의 빌드 프로세스에서 제외해야합니다. #ifdef DEBUG 매크로는 컴파일에서 제외하려는 코드에 대해서만 도움이됩니다. 설정 번들을 제외하는 데는 도움이되지 않습니다.

사용중인 빌드 구성에 따라 설정 번들을 포함/제외하려면 빌드 단계를 추가해야합니다. 이 작업에 대한 도움을 받으려면 How can I conditionally include a file based on build configuration in Xcode?을 확인하십시오.

+0

답변 해 주셔서 감사합니다. 내가 지금 일할거야. – Chompas

+0

효과가있었습니다. 하지만 문제가 있습니다. 내가 대상에서 설정 번들을 제거하고 내 질문에 위에서 추가 한 스크립트를 사용했습니다. 문제는 내가 Debug에서 빌드 한 다음 Release에서 Settings Bundle이 사라지지 않는다는 것입니다. 실수로 제품을 출시하면 결코 설정 번들을 다시 제거 할 수 없습니까? – Chompas

+1

시뮬레이터에 빌드해도 이전에 시뮬레이터에서 빌드에 있던 파일은 제거되지 않습니다. 이는 장치의 장치 빌드에도 적용됩니다. 그러나 빌드 자체가 아닌 실행에만 영향을줍니다 - 다른 구성을위한 빌드는 ~/Library/Developer/Xcode/DerivedData/DerivedData//Build/Products/ 내의 다른 폴더에 저장됩니다. 따라서이 추가 파일은 사용자가 빌드하는 아카이브에 나타나지 않습니다. 스토어 제출물은 보관소를 기반으로합니다. –