0

Libraray/Preferences/com.apple.mail.plist からユーザーのメール アドレスを取得していました。それらは Lion にはもうありません :P スクリプティング ブリッジを使用する必要がありますか? ヒントはありますか?ありがとう

4

3 に答える 3

4

私ならアドレス帳からすぐに取り出します。これは、使用されているメール アプリに関係なく機能するはずです。

// 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 );
}
于 2011-07-22T21:47:12.127 に答える
2

Mail in Lion は、同等のものを~/Library/Mail/V2/MailData/Accounts.plistに保存します。ただし、ユーザーが Apple Mail プログラムを使用していると想定していることに注意してください。それが本当に必要な場合を除き、アドレスを取得するための別の方法が必要になる場合があります。たとえば、システムのセットアップ方法によっては、CSIdentityGetEmailAddress() などの CSIdentity API を使用できます。

于 2011-07-22T19:57:29.427 に答える
0

Appleスクリプトは仕事を成し遂げます。

于 2011-09-14T05:51:33.747 に答える