strings nslocationwheninuseusagedescription localize infoplist info how create macos bash plist ipa

macos - nslocationwheninuseusagedescription - Editar archivo ipa plist en linea de comando



plist file (4)

La respuesta de @ user478681 no me funcionó, debido al paso faltante para descomprimir y comprimir el archivo ipa.

Encontré un site con esos pasos.

En breve:

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

Si necesita renunciar a su aplicación, siga las instrucciones en el sitio mencionado anteriormente.

Me gustaría cambiar el valor de cadena ''bundle-identifier'' en un archivo plist usando la línea de comando. Usando ''valores predeterminados'', ¿cómo haría esto?

Para su información aquí está 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>


Prueba esto:

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


Si el formato de línea es consistente, podría hacerlo con sed siguiente manera:

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

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

Agregue -i para editar en su lugar.


Versión actualizada:

/usr/libexec/PlistBuddy -c "set :CFBundleIdentifier newidentifier" your.plist