Servislerle ilgili çok garip bir hata keşfettim.
Bu davranışa şahit olmak için lütfen aşağıdakileri yapın:
Safari'nin Dock'unuzda olduğundan emin olun.
Automator'ı açın. Yeni bir Servis oluşturun.
Hizmeti "herhangi bir uygulamada" giriş yok "alacak şekilde ayarlayın.
Bir "AppleScript Çalıştır" işlemi ekleyin.
Aşağıdakini eyleme yapıştırın:
on run {input, parameters} delay 5 display dialog "Hello" tell application "Safari" to activate return input end run
Servisi kaydedin.
Servisi kapatın.
Hizmeti tekrar açın.
Automator, ““ ServiceName ”hizmetini yüklemek ister misiniz?” Sorusunu soran bir iletişim kutusu sunmalıdır. "Yükle" yi tıklayın.
"Kurulum tamamlandı" iletişim kutusu verildiğinde "Tamam" ı tıklayın.
Şimdi, Hizmeti çalıştırın. Bunu yapmak için, ekranın sol üst köşesindeki geçerli uygulama başlığına tıklayın (menü çubuğundaki ikinci öğe). Ardından Servis başlığına tıklayın.
Safari'nin hemen açılacağını göreceksiniz (Dock'taki logosunun altındaki siyah noktayla kanıtlandığı gibi). Safari 5 saniye gecikmeden önce ve "Merhaba" iletişim kutusu görüntülenmeden önce açılacaktır .
İfadeyi activate
bir alt rutine yerleştirmek sorunu çözmez.
Birisi bunun bir hata olduğunu onaylayabilir mi? Bunun Servisler özelliğiyle ilgili bir hata olduğuna ikna oldum, çünkü Servisi Automator içinden çalıştırdığınızda (Automator penceresinin sağ üst köşesindeki "oynat" düğmesini tıklatarak) kod doğru çalışıyor.
Bu bir hataysa, önceki kod çalıştırılmadan önce uygulamanın aslında açılmaması için geçici bir çözümü olan var mı?
Macbook Pro'um OS X El Capitan, 10.11.6 kullanıyor.
Hata, farkettiğim başka garip davranışlarla ilişkili olabilir:
Çalışıyorlarsa, Safari.app ve Automator.app'den çıkın.
Bilgisayarın Servislerinin bulunduğu klasörü (/ Kullanıcılar / Me / Kütüphane / Servisler /) Finder'da yukarı çekin.
Servis dosyasına sağ tıklayın ve dosyayı Automator ile açın.
.Workflow dosyasını Automator ile açmanın Safari'yi etkinleştireceğini fark edeceksiniz. Bunu yapmamalıydı.
do shell script
komut içerisine sarmak , örn do shell script "osascript -e 'tell application \"Safari\" to activate'"
. osascript
Çok satırlı bir komut dosyası oluşturmak için birden fazla seçenek verilebileceğini unutmayın .
tell application "Whatever" to ...
bu uygulamayı etkinleştireceğini fark ettim . Muhtemelen altında yatan sebep budur.