Я работал над SNRLastFMEngine последние пару часов, что делает его дружественным к iOS, но зашел в тупик.Моя проблема в одной единственной функции, которая, кажется, использует функции, доступные только в приложениях какао для Mac OS.
Функция ниже:
- (void)_registerCustomURLSchemeHandler
{
// Register for Apple Events
NSAppleEventManager *em = [NSAppleEventManager sharedAppleEventManager];
[em setEventHandler:self andSelector:@selector(getURL:withReplyEvent:) forEventClass:kInternetEventClass andEventID:kAEGetURL];
// Set Sonora as the default handler
NSString *bundleID = [[NSBundle mainBundle] bundleIdentifier];
LSSetDefaultHandlerForURLScheme((CFStringRef)kCustomURLScheme, (CFStringRef)bundleID);
}
, где kCustomURLScheme
предопределено NSString
, который затем обрабатывается функцией: - (void)getURL:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent
Я думал о добавлении наблюдателя NSNotification
для обработки события, но мне не повезло (это не 'Я не могу распознать класс события или идентификатор события, и я не знаю, что делать для учета LSSetDefaultHandlerForURLScheme
).У меня нет опыта работы с приложениями для Mac OS, и я уверен, что мне не хватает общей картины.Я был бы очень признателен за помощь / руководство от любого, кто владеет обоими языками.