У меня есть приложение для Mac OS X, которое также является обработчиком протоколов (как, например, Safari является обработчиком протоколов HTTP и HTTPS). Поэтому, когда пользователь щелкает ссылку вида myscheme://some-kind-of-info в любом приложении, мое приложение запускается для обработки ссылки.
Теперь мне нужно иметь возможность определить, было ли приложение запущено по такой ссылке, или оно было запущено любым другим способом. Другими словами, он запускался любым способом, кроме клика по ссылке. (В таких случаях я хочу, чтобы приложение оставалось открытым, но если оно было запущено по ссылке, оно должно закрыться и игнорировать ссылку. Таким образом, оно работает только тогда, когда оно уже запущено.)
Есть ли способ в приложении при запуске провести самоанализ и выяснить, что оно было запущено стандартным методом, а не событием AppleScript GetURL? Я хотел бы узнать это с помощью задокументированного метода, а не, например, просто открывать эти ссылки в моем приложении только после того, как оно будет запущено в течение полсекунды.