2013년 11월 19일 화요일

xcode는 plist 편집시 예약된 키값을 그대로 보여주지 않는다

동일한 프로젝트인데 테스트용으로 엔터프라이즈계정의 인하우스 배포를 하고

최종테스트 후 스토어용으로 빌드한 후 어플리케이션로더 를 통해서 업로드 하는 환경이기에

info.plist 에 Bundle identifier 값을 스토어용,인하우스용 으로 각각 달리 설정하고 빌드를 해야 한다

info.plist 에 Bundle identifier_:계정명 으로 키를 추가한 후 각각 앱 아이디를 설정해서 defaults 를 이용해서 Bundle identifier에 그 값을 써넣는 방식을 취해보려 다음과 같이 스크립트를 작성하였다

function setAppInfo()
{
    appID=`defaults read "$info_plist" "Bundle identifier_$USER"`
    defaults write "$info_plist" "Bundle identifier" "$appID"
}

당연히 되어야 할 것 같지만 빌드가 되지 않는다

파일을 열어보니 Bundle identifier 가 하나 더 추가되어있다

상식을 벗어난 동작에 한참을 멘붕 후 xcode가 아닌 텍스트편집기로 info.plist를 열어보니

Bundle identifier 의 키값이 Bundle identifier 가 아닌 CFBundleIdentifier 로 되어있다

function setAppInfo()
{
    appID=`defaults read "$info_plist" "Bundle identifier_$USER"`
    defaults write "$info_plist" "CFBundleIdentifier" "$appID"
}

로 실행하니 잘 동작함




1줄요약
App-Info.plist 의 Bundle identifier 키는 Bundle identifier 가 아니라 CFBundleIdentifier 다

댓글 없음:

댓글 쓰기