在目标c中打开app上的url事件(Mac OSX)

时间:2012-10-16 16:42:14

标签: objective-c url launch appleevents geturl

我正在为OSX 10.6+编写一个非常轻量级的应用程序,它将响应用户点击URL,通过TCP将该URL传递给另一个应用程序,然后退出。

到目前为止,当用户点击自定义网址方案时,它已经注册正常。但是,如果应用程序尚未运行,事件似乎会丢失。因此用户点击链接,应用程序加载,但没有任何反应。应用程序运行后,如果用户单击该链接,则会抓取该事件并正常处理该事件。

我需要做些什么来捕捉导致应用首先打开的初始事件?

目前我正在applicationDidFinishLaunching方法中创建NSAppleEventManager,这适用于初始加载后创建的所有事件,而不适用于实际打开应用程序本身的事件。

任何建议都会很棒!

谢谢!

1 个答案:

答案 0 :(得分:3)

您应该在-applicationWillFinishLaunching:中创建AppleEvent处理程序。

我们的想法是让您的处理程序准备好在您的应用程序开始处理AppleEvents之前