usuario tienes tiene sistema responde recuperar puede preferencias porque permisos permiso operación necesario mac entrar completar como carpeta cambiar archivo administrador macos shell console plist property-list

macos - tienes - Modificar un Plist desde la línea de comandos en Mac usando valores predeterminados



recuperar usuario administrador mac (4)

Abra la lista de información en un editor de texto para ver los identificadores reales.

defaults write Absolute/Path/to/Info.plist CFBundleURLTypes -array-add ''<dict> <key>CFBundleTypeRole</key> <string>Viewer</string> <key>CFBundleURLName</key> <string>Mac App Store URL</string> <key>CFBundleURLSchemes</key> <array> <string>macappstore</string> </array> </dict>''

pbpaste | pl pbpaste | pl convierte el XML al formato de estilo antiguo.

defaults write Info.plist CFBundleURLTypes -array-add ''{CFBundleTypeRole=Viewer; FBundleURLName="Mac App Store URL";CFBundleURLSchemes=(macappstore);}''

¿Alguien sabe cómo modificar un archivo Plist desde la línea de comandos usando valores predeterminados ? Actualmente hay dos diccionarios en la matriz de URL types ; Necesito añadir otro.

Cada comando que he intentado ha reemplazado el diccionario completo o creado una nueva matriz llamada URL types lugar de editarlo. ¿Alguna idea de cómo se puede hacer esto en forma predeterminada (la aplicación Mac de la consola) y no en PlistBuddy?


Las listas de propiedades XML se pueden ver en un editor de texto directamente como sugiere la respuesta de Lauri.

Las listas de propiedades binarias (que se encuentran en muchas de las aplicaciones de envío propias de Apple) deben convertirse primero a un formato de lista de propiedades XML.

plutil se puede utilizar para hacer esto, en cualquier dirección. Tenga cuidado, ya que la lista de propiedades se modifica en su lugar, por lo que primero desea hacer una copia de la lista de propiedades.

plutil -convert xml1 binary-property-list-to-convert.plist

Y para convertirlo de nuevo a binario:

plutil -convert binary1 XML-property-list-to-convert.plist



Utilice el tipo de valor -array-add :

defaults write /path/to/plist/file "URL Types" -array-add ''{"URL Identifier" = "com.myapp.2"; "URL Schemes" = { "two"; }; }''