我如何知道我的OS X应用程序的启动方式?

时间:2015-07-22 14:41:35

标签: macos cocoa launch launching-application

确定。这是2015年。很多事情都发生了变化。我想问一下......

是否有人知道如何检测应用程序在OSX上的启动方式?

因为我还没有答案......

我在谈论对我来说很重要的这些案例:

  1. 由用户定期发布(通过从Finder,Launchpad等中选择应用程序)
  2. 登录时启动(启动时由myHelperApp自动启动)
  3. 用户选择服务菜单中的项目(“在MyApp中执行某些操作”),假设我的应用程序之前未启动。
  4. 现在我正在使用过时的GetCurrentProcess函数检测启动时启动,获取当前进程ID,然后查找父进程信息。如果获得父进程信息(!)并且bundleId不等于某些字符串列表(myHelperApp bundleId,com.apple.loginwindow,com.apple.coreservices.uiagent)(!) - 那么这不是启动 - 在 - 登录案例。

    是的,它现在有效,但是来吧,这是一个完全过时的,不稳定的方法来解决问题!

    重要的是什么 - 似乎没有办法告诉我的应用是通过服务菜单推出的!

    有没有人在这个主题上找到新的东西?

0 个答案:

没有答案