Как получить почтовые адреса пользователей на OS X Lion? - PullRequest
0 голосов
/ 22 июля 2011

Я получал почтовые адреса пользователей из Libraray / Preferences / com.apple.mail.plist.Их больше нет в Lion: P Нужно ли использовать скриптовый мост?Есть намеки?Спасибо

Ответы [ 3 ]

4 голосов
/ 23 июля 2011

Я бы вытащил их прямо из адресной книги.Это должно работать независимо от того, какое почтовое приложение используется.

// Find 'me' card in address book.
ABPerson* meCard = [[ABAddressBook sharedAddressBook] me];
if( meCard == nil ) {
    NSLog( @"Could not find me!" );
    return;
}

// Get my email addresses.
ABMultiValue* anEmailList = [meCard valueForProperty:kABEmailProperty];
if( anEmailList == nil ) {
    NSLog( @"I have no email!" );
    return;
}

// Output them.
for( NSUInteger index = 0; index < [anEmailList count]; index++ ) {
    NSString* aLabel = [anEmailList labelAtIndex:index];
    NSString* aValue = [anEmailList valueAtIndex:index];
    NSLog( @"%@: %@", aLabel, aValue );
}
2 голосов
/ 22 июля 2011

Почта в Lion хранит эквивалент в ~ / Library / Mail / V2 / MailData / Accounts.plist .Тем не менее, обратите внимание, что вы предполагаете, что пользователь использует программу Apple Mail, если только это не то, что вам действительно нужно, возможно, вы захотите использовать альтернативные методы получения адреса.Например, вы можете, в зависимости от того, как была настроена система, использовать API-интерфейсы CSIdentity, такие как CSIdentityGetEmailAddress ().

0 голосов
/ 14 сентября 2011

Apple, скрипт выполнит свою работу.

...