2014-03-03 19 views
0

我已經應用1調用應用2使用申請重新打開事件 - 可可/的ObjectiveC

[[NSWorkspace sharedWorkspace] launchApplicationAtURL:.... 

現在,應用2打開時,我想這樣做在Windows加載一些操作。當我第一次打開應用程序時這很好。我可以在awakeFromNib事件中執行我的邏輯。

如果應用程序2在打開後最小化(在dock中),它將在application1再次調用application2時從doc打開,並且initWithWindow,awakeFromNib,WindowDidLoad都不會觸發。

是否有任何窗口事件從第一次打開或從最小化狀態重新打開時被觸發?

回答

1

作爲NSApplication代表您將收到various notifications/calls您可以使用該。例如,您是否可以使用

- (void)applicationDidBecomeActive:(NSNotification *)aNotification 
- (void)applicationDidResignActive:(NSNotification *)aNotification 

您可能只需檢查首次啓動與使用應用委託中的變量變爲活動狀態。此外,DidBecomeActive也應在啓動時調用。

+0

謝謝。我在ViewController中檢查這個事件,但是這個事件在AppDelegate中可用。我通過使用通知來處理這個問題。 –