2011-08-12 24 views
23

Me gustaría cambiar el valor de la cadena 'identificador de paquete' en un archivo plist usando la línea de comando. Usando 'valores predeterminados', ¿cómo podría hacer esto?Editar archivo ipa plist en la línea de comando

FYI aquí es el plist en su totalidad:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>items</key> 
    <array> 
    <dict> 
     <key>assets</key> 
     <array> 
      <dict> 
       <key>kind</key> 
       <string>software-package</string> 
       <key>url</key> 
       <string>http://eventpilotadmin.com/doc/clients/ISES/Eventworld2011/proofs/iphone_Eventworld2011_proof.ipa</string> 
      </dict> 
     </array> 
     <key>metadata</key> 
     <dict> 
      <key>bundle-identifier</key> 
      <string>com.ativsoftware.Eventworld2011</string> 
      <key>bundle-version</key> 
      <string>1.0</string> 
      <key>kind</key> 
      <string>software</string> 
      <key>title</key> 
      <string>Eventworld2011</string> 
     </dict> 
     </dict> 
    </array> 
</dict> 
</plist> 
+0

Mejor elimine esto y haga la pregunta en ['Ask Different'] (http://apple.stackexchange.com/) antes de obtener los votos. –

+2

Es más como codificar, voté y parece que no soy el único :) – sorin

Respuesta

35

Prueba esto:

/usr/libexec/PlistBuddy -c "Set :items:0:metadata:bundle-identifier newidentifier" your.plist 
+0

Muchas gracias, ¡funcionó! – kevmalek

+0

Parece que el comando no funciona, pero aprendí sobre el amigo plist, ¡gracias muchísimo! – Aron

5

Si el formato de línea es coherente que podría hacerlo con sed así:

sed -n '/bundle-identifier/{p;n;s/>.*</>new value</;};p' your.plist 

En su ejemplo esto cambiaría com.ativsoftware.Eventworld2011 a new value

Agregar -i para editar en el lugar.

3

@ respuesta de user478681 no funcionó para mí, debido al paso que falta para descomprimir y comprimir el archivo IPA.

Encontré un site con esos pasos.

En resumen:

unzip app.ipa 
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier newidentifier" Payload/MyApp.app/Info.plist 
zip -qr ResignedApp.ipa Payload 

Si tiene que renunciar a su aplicación, siga las instrucciones en el sitio antes mencionado.

Cuestiones relacionadas