2012-01-11 8 views
5

Por lo tanto, recientemente enviamos una aplicación basada en documentos con una desdichada supervisión: la UTI para nuestro tipo de documento principal se dejó en blanco. Teníamos un nombre para él, pero el identificador estaba completamente vacío.Tipo de archivo miseria - Cocoa

Todo funcionó muy bien, pero luego fuimos a agregar otro tipo de archivo a la mezcla. El nuevo tipo de archivo es simplemente xml (se ajusta a public.xml). Configuramos eso y lo dejamos caer en el documento. Aquí es cuando detectamos nuestro descuido en la primera UTI del tipo de documento.

Ahora, si nos gusta tanto como toque este tipo de documento, BOOM. La aplicación no puede leer ningún archivo que haya creado de ese tipo. Realmente queremos limpiar esto, ¿cuál es la mejor manera de hacerlo?

Mi pregunta es esencialmente: ¿Cómo se migra el tipo de documento principal en una aplicación basada en documentos?

Respuesta

1

En primer lugar, es muy difícil solucionar este tipo de problema en la máquina que está utilizando para cortar compilaciones. El sistema de UTI dinámico se confunde en cuanto a qué aplicación posee qué archivos. Para resolver este problema, existe un comando que puede ejecutar en la terminal al clear out the file associations on your system.

A continuación, abordamos los tipos de documentos reales de nuestra aplicación. En última instancia, queremos admitir solo dos tipos de documentos, nuestro tipo personalizado y el tipo xml. Sin embargo, tuvimos que mantener esa UTI vacía y generada dinámicamente que se envió. En "Tipos de documento", tenemos tres: los dos que realmente queremos apoyar y el que ya no queremos. Para los dos primeros, nuestra aplicación es un "Editor". Para el legado, lo cambiamos a "Reader".

Otra cosa que realmente ayudó a nuestro sistema es utilizar las UTI importadas. Le dijimos al sistema que nuestra aplicación importa el tipo XML y exporta los otros dos.

Hemos hecho algunas pruebas bastante importantes, incluida la implementación, y esta configuración funciona como un encanto.

Cuestiones relacionadas