2
我有一個Cocoa應用程序和一個啓動代理。啓動代理使用 launchAppWithBundleIdentifier:
方法調用啓動應用程序。
在我的應用程序內我想檢查應用程序是由用戶啓動(正常啓動)還是啓動代理啓動我的應用程序。如何檢查應用程序是由用戶還是NSWorkspace啓動
我有一個Cocoa應用程序和一個啓動代理。啓動代理使用 launchAppWithBundleIdentifier:
方法調用啓動應用程序。
在我的應用程序內我想檢查應用程序是由用戶啓動(正常啓動)還是啓動代理啓動我的應用程序。如何檢查應用程序是由用戶還是NSWorkspace啓動
您似乎應該能夠通過launchAppWithBundleIdentifier:calls的additionalEventParamDescriptor參數發送Apple事件,然後在您的應用程序中接收該事件,以便您知道這是您的代理啓動您。
謝謝。我找到了接受的方式。在我的應用程序委託我寫了以下方法:' - (BOOL)applicationShouldOpenUntitledFile :(NSApplication *)sender { \t NSAppleEventDescriptor * event = [[NSAppleEventManager sharedAppleEventManager] currentAppleEvent]; (事件) \t \t如果(事件) \t AEEventID evtID = [event eventID]; \t \t \t 如果\t(事件&&(evtID == kAEOpenApplication)&& [事件事件類] == kCoreEventClass) \t \t { \t \t \t //這裏一些代碼 \t \t \t} \t} \t返回YES ; }' – Raviprakash 2011-05-10 09:52:09
太好了。我不確定你會如何收到它,但聽起來你已經知道了! – 2011-05-15 23:25:31