2009-08-14 5 views
2

ich XCode bin mit einer iPhone-Anwendung zu erstellen, wo ich von außen möchte die Info plist-Datei auf die gleiche Weise verarbeiten, wie der XCode Build-SchrittWie kann ich com.apple.tools.info-plist-Dienstprogramm ausführen?

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 

Dieser Auszug aus dem Build-Protokoll bezieht sich unten tut gezeigt Ein com.apple.tools.info-plist-Dienstprogramm, das ich aus verschiedenen Quellen im Netz erhalte, ist ein internes XCode-Dienstprogramm.

Ist es möglich, das com.apple.tools.info-plist-Dienstprogramm über eine Befehlszeile auszuführen?

Antwort

3

Sie können ein Werkzeug namens PlistBuddy, /usr/libexec/PlistBuddy verwenden, werfen Sie einen Blick auf seine man-Seite.

Aber Sie müssen auch die PLIST wieder in eine binäre Plist-Datei konvertieren. Dies kann so in einem Build-Skript gemacht werden

plutil -convert binary1 "$TARGET_BUILD_DIR/$INFOPLIST_PATH" 
2

Die "Plutil" Antwort ist ein guter Start. Leider ist die Xcode Build-Prozess kann mehr auf die Info.plist Datei als binäre Umwandlung, zum Beispiel auf meinem System fügt es in den Bereichen:

-MinimumOSVersion
-PlatformName
-CFBundleExecutable
-SDKName
-CFBundleResourceSpecification
-CFBundleSupportedPlatforms

nach dem Apple documentation Sie sind nicht einige dieser Werte einzurichten selbst soll:

MinimumOSVersion

MinimumOSVersion (Zeichenfolge). Wenn Sie eine iPhone-Anwendung erstellen, notiert Xcode das Ziel-Betriebssystem (wie von der Base SDK-Auswahl bestimmt) als MinimimOSVersion-Eigenschaft. Geben Sie diese Eigenschaft nicht selbst in der Datei Info.plist an; es ist eine systemgeschriebene Eigenschaft. Wenn Sie Ihre Anwendung in der App Store veröffentlichen, gibt der Store die iPhone-Betriebssystemversion an, auf der Ihre Anwendung basierend auf dieser Eigenschaft ausgeführt werden kann. Es ist entspricht dem LSMinimumSystemVersion Eigenschaft auf Mac OS X.

ich in allen möglichen Problemen renne versuchen Prozess erneut zu unterzeichnen meine Anwendung als Teil meiner Maßarbeit.

+0

OK, danke für die Antwort. – TheFrancisOne