1

アプリケーションの URI スキーム「testscheme」を登録しました。また、URL ハンドラーを登録しまし- (void)applicationDidFinishLaunching:(NSNotification *)aNotification NSAppleEventManager

geturl ハンドラーを登録するための以下のコード

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

初めてブラウザーから「testscheme://some parameters」を開くと (アプリケーションが実行されていないとき)、OS がアプリケーションを開きます。

コマンド ライン パラメーターを確認すると、「testscheme://some parameters」がコマンド ライン引数として表示されません。

ただし、アプリケーションが既に実行されているときに同じ URL を開くと、.NET に登録されている GetURL ハンドラーで URL を取得しますNSAppleEventManager

初めて起動したときに、コマンド ラインまたは GetURL ハンドラーのいずれかによって、アプリケーションの testscheme url パラメーターを取得したいと考えていました。

ブラウザで開くmailto:frank@wwdcdemo.example.comと、Mail.appに適切に渡されたパラメータも確認しました。しかし、for Mail.app を使用してコマンド ライン引数を同時にチェックするとps -ef、アプリ パス以外のパラメーターは表示されません。

これについて私を助けてください。

ありがとうございます。

4

1 に答える 1

0

awakeFromNib代わりにGetURL eventHandler を登録することで解決しましたapplicationDidFinishLaunching

于 2014-06-19T12:56:48.267 に答える