2012-04-09 22 views
0

Ich habe eine Legacy-App (minimal portiert von Mac System 7 zu Carbon to Cocoa) wo Benutzer berichten, dass die KMDItemKind-Metadaten, wie berichtet, meine DLLs, von der App gespeicherten Textdateien auf "Microsoft Excel 97- 2004 Arbeitsbuch ". Der Legacy-Dateiersteller und -Typ sollte auf 'cBaS' und 'TEXT' gesetzt sein (wie es bei Apple in den alten Tagen registriert war), und die Legacy-Dateierweiterung ist '.bas'.Wie wird der kMDItemKind eines gespeicherten Dokuments unter Mac OS X eingestellt?

Was setzt die kMDItemKind Metadaten von gespeicherten Dateien unter Mac OS X?

Wie stelle ich sicher, dass der kMDItemKind beim Speichern dieser Textdateien richtig eingestellt ist, damit meine App sie öffnet?

Antwort

1

Sie können die kMDItemKind einer Datei nicht direkt festlegen. Es wird von anderen Metadaten abgeleitet. Der Dateitypcode 'TEXT' ist ziemlich generisch. Der Erstellercode wird in diesen Tagen ignoriert. Die Dateierweiterung ist wahrscheinlich, worauf das System angewiesen ist.

Leider haben Sie in Ihrem Fall mehrere Apps, die BAS-Dateien verarbeiten. Welches System das System wählt, ist etwas willkürlich und kann sich ändern. Launch Services ordnet die Art zu, die tatsächlich verwendet wird, und wie diese App den Dokumenttyp oder UTI definiert, der mit der Dateierweiterung übereinstimmt.

Normalerweise sollten Sie die Zuordnung von Dateien mit bestimmten Anwendungen dem Benutzer überlassen. Wenn sie dies ändern möchten, können sie dies tun, indem sie im Menü "Datei" des Finders oder im Kontextmenü "Immer öffnen mit zugänglich" auswählen, wenn die Wahltaste gedrückt gehalten wird. Oder sie können das Menü "Informationen" verwenden.

Ihre beste Wette auf der Verwendung einer mehr-wahrscheinlich-zu-sein-eindeutige Dateierweiterung

+0

Ach, zu wechseln wäre es erscheint viele Tausende von aktuellen Benutzern mit mehr als 15 Jahren wert seine von alten Dateien und Dokumentation in Existenz unter Verwendung der aktuellen Dateierweiterung. Sieht so aus, als müssten sie sich mit der Verwirrung des Dateityps abfinden, selbst wenn ich versuche, die App zu aktualisieren ... – hotpaw2

+0

* C'est la vie *. Es gab einen evolutionären Pfad von System 7 zu Mac OS X 10.7, aber 20 Jahre ignorierte Softwareentwicklung führt zu Inkompatibilitäten. –