Ответ 1
Это хедж. "Работающее приложение" - это то, что пользователь думает как приложение. Отображается в переключателе cmd-tab и т.д. Это необязательно должно соответствовать непосредственно процессу. В классической среде несколько приложений были организованы одним процессом unix, классическим. В этой ситуации NSRunningApplication вернет -1 для каждого "приложения".
Люди, которые были у него достаточно долго, увидели достаточно интересные хаки, которые, по их мнению, были важными для определения.