Saya telah membaca banyak online tentang penangan URL khusus / penangan protokol khusus seperti:
- Meluncurkan Aplikasi Eksternal menggunakan Protokol Kustom di bawah OSX
- Penangan URL OS X untuk membuka tautan ke file lokal
Saya mengerti bahwa Anda dapat memberi tahu sistem bahwa program tertentu dapat menangani skema / protokol tertentu dengan Info.plist
file tersebut:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>Local File</string>
<key>CFBundleURLSchemes</key>
<array>
<string>local</string>
</array>
</dict>
</array>
<key>NSUIElement</key>
<true/>
Tetapi jika ada beberapa aplikasi yang mampu membuka penangan URL yang sama, seperti mailto:
bagaimana Anda menentukan yang mana yang Anda inginkan sistem untuk digunakan?
Ada beberapa referensi ke utilitas seperti More Internet preference pane
yang sepertinya tidak lagi tersedia dari situs penulis. Saya memang menemukannya secara online oleh Googling tetapi tampaknya agak goyah - seperti ditulis untuk OSX yang lebih lama - mungkin Tiger.
Saya belum dapat menemukan informasi tentang cara mengatur URL handler untuk protokol dan protokol khusus. Saya berasumsi ada plist
file di suatu tempat yang dapat saya edit - atau mungkin ada utilitas yang lebih baru dan lebih baik yang berfungsi dengan baik dengan Mountain Lion?
Pembaruan Jul 2017: RCDefaultApp dan
lstool
tidak lagi berfungsi di macOS 10.12 atau lebih baru. Kami harus menemukan solusi baru.Sunting Mar 2018
Saya menemukan SwiftDefaultApps tetapi tidak dapat menguji karena saya belum menggunakan Sierra Tinggi.
Melanjutkan jawaban sebelumnya, jika Anda ingin melakukan ini pada baris perintah Anda dapat menggunakan
lstool
perintah, yang merupakan inti dari RCDefaultApp, ditemukan di bawahRCDefaultApp.prefPane/Contents/Resources/lstool
.Penggunaannya sangat mudah:
sumber
lstool
Alat baris perintah menampilkan kesalahan ini ketika Anda mencoba menjalankannya:objc[1049]: Objective-C garbage collection is no longer supported.
(lstool
adalah program internal yang digunakan oleh panel preferensi RCDefaultApp. Sementara panel preferensi tampaknya berfungsi, saya tidak berpikir itu bisa melakukan apa pun karenalstool
rusak. )Cantumkan pengaturan saat ini LaunchServices URL handler di Apple OS X 10.10 (Yosemite):
sumber
Saya sebenarnya menulis sebuah aplikasi yang menyederhanakan pendaftaran protokol URL khusus, jika ada yang tertarik. Ini disebut LinCastor ( http://onflapp.wordpress.com/lincastor/ ). Handler dapat didefinisikan sebagai AppleScript atau skrip shell (yang dapat perl, python atau apa pun).
sumber
Buka file dengan XCode berfungsi cukup mudah.
Menggunakan perintah build
plutil
seperti dijelaskan dalam jawaban di https://discussions.apple.com/thread/5815759 untuk mengkonversi antara format xml1 atau binary1 bekerja serupa.Tidak perlu alat 'alien' :-)
sumber
Anda juga dapat menggunakan duti :
sumber
Saya baru saja mencoba internet lama lainnya, di bawah El Capitan.
Ini funky dan satu-satunya cara kerjanya adalah dengan menggunakan tombol panah atas dan bawah untuk memilih protokol, dan seret / lepas ikon APP ke jendela untuk melakukan perubahan.
Saya beralih default dari Safari ke Chrome, dan perubahan macet, jadi masih berfungsi.
sumber
Cara lain untuk membuat daftar pengaturan Handler URL LaunchServices saat ini dengan Xcode pada Apple OS X 10.10+ (Yosemite):
sumber