Frage

Ich bin mit XCode einer iPhone-Anwendung zu bauen, wo Ich mag von außen würde die Info plist-Datei in der gleichen Weise wie der XCode Build-Schritt verarbeiten unten hat gezeigt

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 auf ein com.apple.tools.info-plist-Dienstprogramm, das ich aus verschiedenen Quellen, um das Netz zu sammeln, ist ein internes XCode-Dienstprogramm.

Ist es möglich, das com.apple.tools.info-plist-Dienstprogramm von einer Befehlszeile ausgeführt werden?

War es hilfreich?

Lösung

Sie können ein Tool namens PlistBuddy, /usr/libexec/PlistBuddy, haben einen Blick auf seine man-Seite.

Aber Sie werden auch die plist konvertieren müssen zurück in eine binäre plist-Datei. Dies kann, wie dies in einem Build-Skript ausgeführt werden

plutil -convert binary1 "$TARGET_BUILD_DIR/$INFOPLIST_PATH"

Andere Tipps

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-Dokumentation nicht sollen einige dieser Werte einzurichten selbst:

  

MinimumOSVersion

     

MinimumOSVersion (String). Wenn du   bauen eine iPhone-Anwendung, Xcode   bestimmt nimmt die Ziel-OS (von   die Base-SDK Auswahl) als   MinimimOSVersion Eigenschaft. Unterlassen Sie   Geben Sie diese Eigenschaft, sich in der   Info.plist-Datei; es ist ein   system geschrieben Eigenschaft. Wenn du   veröffentlichen Sie Ihre Anwendung in den App   Store, gibt der Speicher des iPhone   Betriebssystem-Version auf dem Ihre Anwendung   kann basierend auf dieser Eigenschaft laufen. Es ist   äquivalent dem   LSMinimumSystemVersion Eigenschaft auf Mac   OS X.

Ich laufe in allen möglichen Problemen versucht, meine Anwendung als Teil meiner benutzerdefinierten Build-Prozess erneut zu unterschreiben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top