Saya tahu ada panel preferensi sistem untuk secara manual memodifikasi asosiasi file di Mac OS X Leopard. Namun, saya ingin tahu di mana Leopard sebenarnya menyimpan informasi ini?
Saya tidak tertarik dengan metode untuk mengubahnya. Saya ingin tahu file konfigurasi atau database (seperti registry di Windows) di mana pemetaan tersebut disimpan.
macos
mac
file-association
osx-leopard
Mehrdad Afshari
sumber
sumber
Jawaban:
Maaf, pertanyaan ini sudah lama, tetapi jawabannya benar-benar salah.
Seperti yang disebutkan oleh toolbear, jawaban Doug Harris hanya sebagian yang benar.
The Luncurkan Layanan database file, yang mana semua informasi untuk semua aplikasi yang dikenal dan jenis dokumen yang mereka dapat menangani disimpan, terletak di lokasi berikut:
Singa:
/private/var/folders/**/**/-Caches-/com.apple.LaunchServices-034501.csstore
Macan Tutul Salju:
/private/var/folders/**/**/-Caches-/com.apple.LaunchServices-025501.csstore
Macan tutul:
/Library/Caches/com.apple.LaunchServices-023501.csstore
The
/private/var/folders/
folder di mana "aman" Cache dan folder Temporary untuk setiap pengguna disimpan. ** pada jalur yang ditunjukkan di atas akan berupa sesuatu/dl/dlXWtS5WH9SNboPxxrDIyE+++TI/
, atau urutan karakter yang tidak jelas lainnya untuk mencegah tebakan.Perhatikan bahwa nama
com.apple.LaunchServices-025501.csstore
tersebut terdiri dari ID pengguna (milik saya501
) ditambahkan ke-025
akhiran, yang unik untuk Snow Leopard. (Di setiap versi OS X, Apple cenderung mengubah sufiks pembeda yang digunakan untuk mencegah masalah kompatibilitas antara versi OS X yang berbeda. Anda akan melihat bahwa Leopard digunakan-023
). Lion menggunakan-034
suffix.sumber
$TMPDIR/../0/com.apple.LaunchServices-134$(id -u).csstore
Info.plist
file ( developer.apple.com/library/mac/documentation/MacOSX/Conceptual/… ) yang menjelaskan kemampuannya. Launch Services mengumpulkan semua informasi itu secara dinamis untuk membuat database yang disebutkan di atas. Jika file database dihapus Layanan Peluncuran (khususnyalsregister
alat - ss64.com/osx/lsregister.html ) dapat membuatnya kembali...
berarti "naik tingkat").OS X menggunakan sistem "default" - inilah artikel yang bagus dengan banyak contoh. File-file disimpan di bawah ~ / Library / Preferences, tetapi yang terbaik adalah memanipulasi dengan perintah "default" daripada mengedit daftar secara langsung.
Asosiasi file disimpan di bawah domain com.apple.LaunchServices. Dari tautan di atas, Anda dapat melihat daftar dengan perintah ini:
Jauh lebih banyak informasi tentang Layanan Peluncuran khusus, dapat ditemukan di Panduan Pemrograman Layanan Peluncuran Apple
sumber
@Doug Harris jawaban hanya sebagian benar. Sistem default menyimpan penambahan atau penggantian lokal Anda ke asosiasi file. Namun, OS X hadir dengan beberapa asosiasi standar sistem.
Jika Anda menjalankan,
lsregister -dump
Anda akan melihat apa yang disebut Layanan PeluncuranCoreTypes
dan asosiasi yang disediakan oleh aplikasi yang ditemukannya.Saya belum secara mendalam memindai output. Mungkin ada sumber lain yang ditunjukkan dalam dump itu, tetapi sejumlah besar jenis ini berasal
/System/Library/CoreServices/CoreTypes.bundle
. Mungkin ada file plaintext atau plist di sana di mana jenisnya disebutkan. Asosiasi saya percaya berasal dari pemindaian konten * .app di lokasi aplikasi yang dikenal. Di sinilah Layanan Peluncuran memahami TextWrangler adalah editor untuk berbagai jenis file:sumber
-bash: lsregister: command not found
di MavericksPeasy mudah! Hanya saja itu bukan di tempat yang paling jelas:
Anda juga bisa keluar dan menginstal prefapane RCDefaultApp untuk mengubah semua asosiasi file di satu tempat.
sumber
~/Library/Preferences/com.apple.LaunchServices.plist
sumber