Технические вопросы и ответы QA1722
«Почта Safari [Содержание/Ссылка] Этой страницы» к событиям Mail Client...
Q: Что я должен сделать, чтобы заставить мой почтовый клиент обработать события "Mail Contents of This page" и "Mail Link to This page" Safari?
A: Что я должен сделать, чтобы заставить мой почтовый клиент обработать события "Mail Contents of This page" и "Mail Link to This page" Safari?
1. Добавьте два булевых ключа к Вашему <Info.plist>: MailLinkSupported и MailPageSupported
2. Установите два обработчика AppleEvent:
'почта'/'mlpg' (для почтового содержания этой страницы)
'почта'/'mllk' (для почтовой ссылки к этой странице)
Установка перечисления 1 обработчики AppleEvent:
- (void) applicationDidFinishLaunching: (NSNotification *) inNotification {
NSAppleEventManager *eventManager = [NSAppleEventManager sharedAppleEventManager];
[eventManager setEventHandler:self
andSelector:@selector(handleMailPageEvent:withReplyEvent:)
forEventClass:'mail'
andEventID:'mlpg'];
[eventManager setEventHandler:self
andSelector:@selector(handleMailLinkEvent:withReplyEvent:)
forEventClass:'mail'
andEventID:'mllk'];
} // applicationDidFinishLaunching |
3. Реализуйте обработчики AppleEvent:
Перечисление 2 Реализовывая обработчики AppleEvent:
- (void) handleMailPageEvent:(NSAppleEventDescriptor *) inEvent
withReplyEvent:(NSAppleEventDescriptor *) inReplyEvent {
// Get the subject and address
NSString *subject = [[inEvent paramDescriptorForKeyword:'urln'] stringValue];
NSString *address = [[inEvent paramDescriptorForKeyword:'url '] stringValue];
NSLog(@"subject: \"%@\", address: \"%@\"", subject, address);
NSData *data = [[inEvent paramDescriptorForKeyword:keyDirectObject] data];
if (data) {
// handle data here… (Safari WebArchive)
} else {
// Report error.
NSLog(@"paramDescriptorForKeyword:keyDirectObject.data is NULL.");
}
} // handleMailPageEvent
- (void) handleMailLinkEvent:(NSAppleEventDescriptor *) inEvent
withReplyEvent:(NSAppleEventDescriptor *) inReplyEvent {
// Get the subject and address
NSString *subject = [[inEvent paramDescriptorForKeyword:'urln'] stringValue];
NSString *urlString = [[inEvent paramDescriptorForKeyword:keyDirectObject] stringValue];
NSLog(@"subject: \"%@\", url: <%@>", subject, urlString);
} // handleMailLinkEvent |
История версии документа
| Дата | Примечания |
|---|---|
| 23.12.2010 | Новый документ, что документы, что почтовый клиент должен обработать события "Mail Contents of This page" и "Mail Link to This page" Safari. |