2014-06-19 46 views
0

我已經爲我的應用程序註冊了URI方案「testscheme」。 另外我註冊- (void)applicationDidFinishLaunching:(NSNotification *)aNotification一個URL處理程序通過NSAppleEventManagerMac:如何在應用程序中獲取自定義URI參數

下面的代碼註冊的getURL處理

NSAppleEventManager *appleEventManager = [NSAppleEventManager sharedAppleEventManager]; 
[appleEventManager setEventHandler:self andSelector:@selector(handleGetURLEvent:withReplyEvent:) forEventClass:kInternetEventClass andEventID:kAEGetURL]; 

當我打開「testscheme://一些參數」從瀏覽器的第一次(當我的應用程序沒有運行時),OS打開我的應用程序。

如果我檢查命令行參數,我沒有看到「testscheme://一些參數」作爲命令行參數。

但是,如果我的應用程序已經運行時打開相同的URL,我在我的GetURL處理程序中註冊的URL爲NSAppleEventManager

我想在我的應用程序中通過命令行或GetURL處理程序在第一次啓動時獲取testscheme url參數。

我也檢查Mail.app,當我在瀏覽器中打開mailto:[email protected]正確傳遞給Mail.app的參數。 但是,如果我使用ps -ef爲Mail.app同時檢查命令行參數,則除了應用程序路徑以外,沒有看到任何參數。

請幫我解決這個問題。

感謝和問候。

+0

有哪些命令行參數有什麼關係做登記的GetURL事件處理程序解決的呢?你不通過'handleEvent'處理所有的URL請求嗎? – trojanfoe

+0

我不明白你的問題。 –

+0

對不起,我感到困惑。我通過在awakeFromNib中註冊處理程序來取得它,而不是applicationDidFinishedLaunching。 – Omkar

回答

0

我在awakeFromNib而不是applicationDidFinishLaunching

相關問題