Xcode kullanmadan açılır menü gösteren bir AppleScript'i nasıl yapabilirim?
Xcode kullanmadan açılır menü gösteren bir AppleScript'i nasıl yapabilirim?
Yanıtlar:
AppleScript dilinde diyalog uyarılarında yerleşik bir menü konsepti yoktur.
Yapabileceğiniz en yakın şey, bazı kukla dosyaları (geçici bir klasörde) uygun eylemle adlandırmak ve kullanıcının gerçekleştirmek istediğiniz eylemle etiketlenmiş dosyayı seçmesini sağlamaktır.
open folder blah
with selected file bah
do whatever
Kakao menüsüne ihtiyaç duyan bir soruna korkunç bir "çözüm" - Xcode'da ya da başka biri yaparsanız - Xcode / IB bir menü oluşturan araçtır . MacRuby, AppleScript'ten daha tam özellikli bir kullanıcı arayüzüne ihtiyaç duyan bir uygulamayı kodlamanın güzel bir yoludur. Bir uygulamayı saf komut dosyasından yakutlamak için Xcode / IB'ye ihtiyacınız yoktur.
Arabirim Oluşturucu'yu kullanarak bir NIB oluşturabilir ve hepsini AppleScript kullanarak komut dosyası oluşturabilirsiniz, ancak uç menünün kendisini tanımlar - AppleScript'i değil (AppleScript menü öğelerini çalışma zamanında doldurabilir veya silebilir olsa bile).
Bir seçenek CocoaDialog ** kullanmak olacaktır :
set l to {"aa", "bb", "cc"}
set choices to ""
repeat with x in l
set choices to choices & quoted form of x & " "
end repeat
set dialog to paragraphs of (do shell script "/Applications/CocoaDialog.app/Contents/MacOS/CocoaDialog" & " standard-dropdown --title title --text text --items " & choices)
if item 1 of dialog is "2" then return -- pressed cancel button
item ((item 2 of dialog) + 1) of l

Ayrıca choose from listşunları da kullanabilirsiniz :
choose from list {"aa", "bb", "cc"} with title "Title" with prompt "Please choose" default items "bb" with multiple selections allowed

** Bu Github deposunun orijinal URL'si mstratmandeğişti. Araştırmadan CocoaDialog bir kuruluşa geçti . İşte yeni değişiklikler:
Ayrıca, seçim yapabileceğiniz bir listeye ihtiyacınız varsa,
choose from list listYouDefined with prompt "Choose from the list."
Google "AppleScript Listeden seçin".
Bunun eski bir soru olduğunu anlıyorum, ancak en iyi oylanan cevap CocoaDialog 2 belgelerinde söylendiği için:
İndirmeler çalışmıyor Cocoadialog 2 için indirmeler artık mevcut değil. Bu çoğunlukla kısmen çeşitli değişiklikler ve yıllar boyunca kalıcı depolama eksikliğinden kaynaklanmaktadır.
ve 3 İlkbahar / Yaz 18'e kadar gelmiyor Başka alternatifler arıyordum ve Pashua'yı buldum :
Belgeler altında buna şöyle denir popup:
Example: Using popup
p.type = popup
p.label = Example popup menu
p.width = 310
p.option = Popup menu item #1
p.option = Popup menu item #2
p.option = Popup menu item #3
p.default = Popup menu item #2
Ekran görüntüsü:
Github Reposu
Kullandıktan sonra Pashua.app uygulamasını Uygulama dizininize yükleyebilir veya Pashua'yı uygulamanıza yerleştirebilirsiniz. Bunun yazarı değilim ama bir GUI için temel bir çözüme ihtiyacım vardı ve bundan bahsedilmedi.
AppleScript için Xcode'a ihtiyacınız yoktur. AppleScript Editor uygulamasını Uygulamalar / Yardımcı Programlar'da açın (Yardımcı Programlar klasörü için Finder kısayolu: ⌘ Command+ Shift+ U). MacScripter: Açılır menüsünde açılır menüler için bazı örnek kodlar vardır .