문제

Xcode를 사용하여 iPhone 응용 프로그램을 빌드하고 있습니다. 여기서 xcode 빌드 단계와 동일한 방식으로 정보를 외부로 처리하고 싶습니다.

Processing /Users/kte/Projects/build/Debug-iphonesimulator/TestAppGen.app/Info.plist TestAppGen-Info.plist
mkdir /Users/kte/Projects/build/Debug-iphonesimulator/TestAppGen.app
cd /Users/kte/Projects/TestAppGen
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
<com.apple.tools.info-plist-utility> TestAppGen-Info.plist -genpkginfo /Users/kte/Projects/build/Debug-iphonesimulator/TestAppGen.app/PkgInfo -expandbuildsettings -format xml -o /Users/kte/Projects/build/Debug-iphonesimulator/TestAppGen.app/Info.plist

빌드 로그에서 발췌 한 내용은 인터넷 주변의 다양한 소스에서 수집 한 com.apple.tools.info-plist-tutility를 말합니다. 내부 Xcode 유틸리티입니다.

명령 줄에서 com.apple.tools.info-plist- 유틸리티를 실행할 수 있습니까?

도움이 되었습니까?

해결책

plistbuddy라는 도구를 사용할 수 있습니다. /usr/libexec/PlistBuddy, Man Page를 살펴보십시오.

그러나 PLIST를 이진 PLIST 파일로 다시 변환해야합니다. 이것은 빌드 스크립트에서 이렇게 할 수 있습니다.

plutil -convert binary1 "$TARGET_BUILD_DIR/$INFOPLIST_PATH"

다른 팁

"Plutil"답변은 좋은 시작입니다. 불행히도 Xcode 빌드 프로세스는 info.plist 파일에 더 많은 기능을 수행합니다.

-미니 니움 방송
-PlatformName
-cfbundleExecutable
-sdkname
-cfbundleresourcespecification
-cfbundlesupportedplatforms

에 따르면 사과 문서 이 값 중 일부를 직접 설정해서는 안됩니다.

최소 방송

최소 version (문자열). iPhone 애플리케이션을 구축 할 때 Xcode는 대상 OS (기본 SDK 선택에 의해 결정된대로)를 최소화 버전 속성으로 기록합니다. 이 속성을 info.plist 파일에 직접 지정하지 마십시오. 시스템 작성 속성입니다. 애플리케이션을 App Store에 게시 할 때이 상점은이 속성을 기반으로 응용 프로그램이 실행할 수있는 iPhone OS 릴리스를 나타냅니다. Mac OS X의 LSminiumsyStemversion 속성과 동일합니다.

맞춤형 빌드 프로세스의 일부로 내 응용 프로그램을 다시 서명하려는 모든 종류의 문제가 발생합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top