Завершение работы Applescript через 1 минуту - PullRequest
0 голосов
/ 06 августа 2020

У меня есть очень простое приложение applescript в xcode, которое просто открывает окно и имеет кнопку, которая перенаправляет на веб-сайт. Есть ли способ автоматически выйти из окна, если пользователь не нажал кнопку в течение 60 секунд. Вот мой код

script AppDelegate
    -- property parent : class "NSObject"
    
    -- IBOutlets
    property theWindow : missing value
    
    on applicationWillFinishLaunching_(aNotification)
        -- Insert code here to initialize your application before any files are opened
    end applicationWillFinishLaunching_
    
    on buttonClicked_(sender)
        open location "https://example.com"
        quit
    end buttonClicked_
    
    on applicationShouldTerminate_(sender)
        -- Insert code here to do any housekeeping before your application quits 
        return current application's NSTerminateNow
    end applicationShouldTerminate_
    
end script

1 Ответ

0 голосов
/ 07 августа 2020

Поскольку окно отображается при запуске приложения, вы можете просто вызвать метод / обработчик после задержки из метода applicationWillFinishLaunching. Поскольку вы также выходите из обработчика кнопок, который может выполнять двойную функцию, например, заменяет эти обработчики:

on applicationWillFinishLaunching_(aNotification)
    my performSelector:"buttonCLicked:" withObject:me afterDelay:60
end applicationWillFinishLaunching_

on buttonClicked_(sender)
    if sender is not me then open location "https://example.com"
    current application's NSApp's terminate:me -- quit
end buttonClicked_
...