문제

나는 사전 컴파일 된 헤더 파일로 처리 된 plist가 있고 그것에 cfbundlegetinfostring과 같은 필드에서 몇 번 사용 된 "변수"버전 _string이 있습니다. 즉, 주요 cfbundlegetinfostring은 : myProduct version_string Copyright © 2009 mycorp © myProduct version_string © 2009 Mycorp입니다.

myHeader.h (info.plist prefix 헤더로 세트입니다. version_string을 major.minor.patch.build로 만들 수 있습니다.

#define MAJOR 1
#define MINOR 0
#define PATCH 0
#define BUILD 23

어떤 이유로 나는 이것을 할 수없는 것 같습니다. 나는 그 순간 중 하나를 가질 수 있습니다

도움이 되었습니까?

해결책

실제로 이것에 대한 Apple Tech 메모와 내가 가진 바로 그 문제에 대한 해결책이 있음이 밝혀졌습니다. 그래서, 이것을 발견하고 같은 문제를 겪고있는 사람은 내가 체크 아웃했습니다. 기술 노트 TN2175 : 전처리 정보. Xcode의 Plist Files C Preprocessor

다른 팁

Plist 파일을 가져 와서 추가 확장자 (아마도 p?)로 이름을 바꿉니다. 추가하다 #include "MyHeader.h" 파일의 시작 부분에 C Preprocessor와 함께 빌드에서 전처리합니다 (일반적으로 cpp). 추가 여과해야 할 수도 있습니다 # 라인이지만 왜 작동하지 않는지 모르겠습니다.

기본적으로, cpp stdout에 출력해야하므로 이와 같은 명령을 추가하는 것이 좋습니다.

cpp myplist.plist.P | grep -v '^#' > myplist.plist
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top