2012-05-26 23 views
6

Bulucudaki dosya simgelerine bağlam duyarlı bir menü eklemeliyim. Yani temel olarak "filename.txt" simgesine sağ tıklarsam, "Aç", "Bilgi Al" vb. Bir alt menünün açılması gerekir, ancak "Programım" diyen ek bir öğe olmalıdır. Kullanıcı "Programım" menü seçimini seçerse, sistem şu şekilde çalışır: "my_program.rb filename.txt".Mac OS X bulucudaki bir dosyaya içerik duyarlı menü öğesi ("sağ tıklatma" kullanılarak) nasıl eklenir?

Mac OS 10.6 32 bit var.

Yığın taşmasını kontrol ettim ve gönderdiğim çözümler var, ama onlar tarafından biraz kafam karıştı. Öncelikle, this stack overflow article'a göre, "paylaşım tesisini sağlayan bir Hizmet eklemeniz" gerekir, ancak bu bana kafa karıştırıcı. Bir "hizmet" nedir? Bu işletim sistemine özel bir kanca olan bir program mı?

Ayrıca an apple article for "providing a service" da var, ama yine de biraz kafam karıştı. Bir ruby ​​script bir "hizmet" olarak sayılabilir mi? Yoksa alt menüye erişmek için C nesnesinde tuhaf kakao şeyleri yapmak zorunda mıyım?

Bunu yapmanın daha basit bir yolu var mı? Belki henüz karşılaşmadığım bir açık kaynak program?

cevap

4

Hizmetleri kullanmalısınız. Services Implementation Guide ve MakingServices'a bakın.

Hizmetler, uygulamanız tarafından diğer uygulamaların yararlanması için dışa aktarılan özelliklerdir. Hizmetler, uygulamanızın kaynaklarını ve özelliklerini sistemindeki diğer uygulamalarla paylaşmanızı sağlar. Hizmetler menüler menülerden erişilebilir.

+0

Tamam, kakao dev wiki biraz yardımcı oldu. Ben bunun dışında aldığım şey muhtemelen Ruby yerine Objective C'de yapmak istediğim senaryoyu yapmak ve programımda uygun yönteme işaret eden bir hizmet eklemek için kakao api kullanmak daha iyi olduğunu düşünüyorum. Sanırım nesnel C öğrenmeye başlamak zorundayım. . Quora'dan –

+0

FYI, Jason Cutler 2011; İçeriğe Dayalı Menü Öğeleri Snow Leopard'dan beri kullanımdan kaldırılmıştır. Apple'ın tercih ettiği yöntem şimdi Hizmetler'i kullanmaktır. Bağlam menüsünde görünen hizmetler Sistem Tercihleri'nde etkinleştirilebilir. – AnneTheAgile