Mac: как получить пользовательские параметры URI в приложении

Я зарегистрировал схему URI "checheche "для своего приложения. Также я зарегистрировал обработчик URL в - (void)applicationDidFinishLaunching:(NSNotification *)aNotification через NSAppleEventManager

Ниже код для регистрации обработчика geturl

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

Когда я впервые открываю "testscheme:// некоторые параметры" из браузера (когда мое приложение не запущено), ОС открывает мое приложение.

Если я проверяю параметры командной строки, я не вижу "testscheme:// некоторые параметры" в качестве аргументов командной строки.

Однако если я открою тот же URL, когда мое приложение уже запущено, я получу URL в своем обработчике GetURL, зарегистрированном в NSAppleEventManager,

Я хотел получить параметры URL-адреса testscheme в своем приложении либо с помощью командной строки, либо с помощью обработчика GetURL при первом запуске.

Я также проверил Mail.app, когда я открываю mailto:frank@wwdcdemo.example.com в браузере параметры правильно передаются в Mail.app. Однако, если я проверяю аргументы командной строки одновременно, используя ps -ef для Mail.app я не вижу никаких параметров, кроме пути приложения.

Пожалуйста помоги мне с этим.

Спасибо и С уважением.

1 ответ

Я решил это, зарегистрировав GetURL eventHandler в awakeFromNib вместо applicationDidFinishLaunching

Другие вопросы по тегам