В зависимости от того, что именно вы делаете, NSApplicationLaunchIsDefaultLaunchKey
может быть полезно здесь. Этот ключ включен в NSNotification
, отправленный на applicationDidFinishLaunching:
. С документация :
Значением этого ключа является NSNumber, содержащий логическое значение. Значение равно NO, если приложение было запущено для открытия или печати файла, для выполнения действия службы, если приложение сохранило состояние, которое будет восстановлено, или если запуск приложения в каком-то другом смысле не был запуском по умолчанию. В противном случае его значение будет ДА.
В дополнение к упомянутым случаям оно также установлено на NO
, если приложение автоматически запускается при входе в систему. Так что, если вы решаете, показывать ли какой-либо элемент интерфейса, например, этой информации может быть достаточно, чтобы делать то, что вам нужно.
Проверка [[NSApplication sharedApplication] isHidden]
также может быть полезна, если вы хотите узнать, было ли приложение запущено с установленным флажком «скрыть».
Редактировать: При дальнейшем тестировании я не уверен, что это действительно так. Когда приложение открывается нормально, NSApplicationLaunchIsDefaultLaunchKey
обычно YES
. Когда он запускается автоматически, он обычно равен NO
в тестировании, которое я провел до сих пор. Но ни то, ни другое не всегда верно, так что, похоже, этот ключ может оказаться бесполезным.