Мне удалось запустить мое приложение всякий раз, когда схема URL вызывается через браузер, поместив эту схему в info.plist
и добавив эти 2 строки:
NSAppleEventManager *appleEventManager = [NSAppleEventManager sharedAppleEventManager];
[appleEventManager setEventHandler:self andSelector:@selector(getUrl:withReplyEvent:) forEventClass:kInternetEventClass andEventID:kAEGetURL];
и правильно реализовать мою функцию getUrl.
Поэтому я попытался поместить две строки выше в мои appDelegates applicationWillFinishLaunching
, applicationDidFinishLaunching
и init
. Но в трех случаях у меня один и тот же сценарий: если мое приложение уже запущено, то функция getUrl вызывается правильно, если приложение не запущено, то getUrl никогда не вызывается.
Я нашел в других сообщениях (Как обращаться со схемой URL по умолчанию и получить событие URL в приложении, открытом в target c (Mac OSX)), но часто предлагается использовать applicationWillFinishLaunching
, что не сработало в моем случае.
Изменить: вот мой info.plist: http://pastebin.com/yM8zabvY