Durante al menos dos años, los ajustes preestablecidos de impresora creados por el usuario no cargan de vuelta los mismos ajustes que aparentemente guardaron. Miles de personas afectadas. Afectados los ajustes preestablecidos de Vista previa, Photoshop, PrintTool y más. Descubrí por qué hace un par de días:
Los ajustes preestablecidos personalizados del usuario se agregan a un determinado archivo printer.plist (como "com.apple.print.custompresets.forprinter.SC_P6000.plist" en ~/Library/Preferences).
Cada uno se muestra como un diccionario usando el nombre proporcionado por el usuario. En ese ajuste individual hay otro diccionario llamado "com.apple.print.preset.settings" que debería tener alrededor de 90 pares clave/valor, que son aparentemente ajustes de impresora.
En los ajustes preestablecidos fallidos de Vista previa, Photoshop, PrintTool, sin embargo, ese diccionario "com.apple.print.preset.settings" tiene menos de 10 pares clave/valor.
Obviamente, la pérdida del 80% de los datos necesarios está causando el problema.
Sin embargo, DxO Photolab crea nuevos ajustes preestablecidos de usuario que tienen la lista completa de alrededor de 90 entradas en el diccionario, y los ajustes preestablecidos creados en Photolab se cargan perfectamente en Vista previa, Photoshop, PrintTool y funcionan bien.
No puedo arreglar esto ya que no tengo acceso al código fuente, pero me gustaría saber cómo, para poder compartirlo con Adobe, Apple, etc., y solucionar este problema para los usuarios.
Mis años de codificación han quedado atrás (los 45 de ellos), pero todavía soy un Desarrollador de Apple, así que entré y hojeé la documentación tratando de averiguar qué está haciendo DxO que Apple/Adobe no están haciendo.
Ahora estoy especulando aquí, pero me parece que el proceso de creación de un ajuste preestablecido de usuario de forma programática comienza consultando el sistema y obteniendo un registro de todos los ajustes actuales de impresora es decir:
NSPrintInfo : NSObject y var deviceDescription: [NSDeviceDescriptionKey : Any] , un diccionario de claves y valores que describen el dispositivo.
Supongo que a partir de ahí, los campos en deviceDescription se modifican agregando / alterando el campo con la entrada del usuario, colocado en "com.apple.print.preset.settings" y luego todo se guarda como un ajuste preestablecido en el archivo de impresora.
O algo similar a ese proceso. (Nuevamente, estoy especulando).
Si eso está cerca, ¿por qué algunos desarrolladores obtienen la lista completa, mientras que la mayoría de ellos obtienen 1/10 de ella? ¿Se puede configurar la consulta de información (cualquiera que sea esa llamada)? ¿Significa que puedes pedir TODOS los datos o algún subconjunto de ellos? (Pensaría que si fuera un problema de Apple/Xcode, afectaría a TODOS los desarrolladores, y DxO también se vería afectado por eso ... así que eso no es).
Es posible que no se haga tal llamada en absoluto, y los ajustes preestablecidos fallidos (con solo unas 10 entradas) estén guardando solo los cambios (cuando aparentemente eso proporciona suficiente información al leerlo de nuevo?)
En resumen: ¿por qué DxO está obteniendo todos los datos que necesita y Vista previa/Photoshop no?
(Tengo una captura de pantalla de esto aquí: [https://valleau.art/blog/printer-presets-no-longer-working-right/])
¿Alguien puede ayudar?