アドレス帳を整理したいっ


iCloud!

MobileMe使Google ContactsUSBiPhoneiPadMac

.appMac OS X 10.7 Lion使

アドレス帳.app
APIObjective-C


#import <AddressBook/AddressBook.h>

int main() {
  ABAddressBook *addressBook = [ABAddressBook sharedAddressBook];
  // 名前がYから始まる人を探したいっ
  ABSearchElement *searchElement =
    [ABPerson searchElementForProperty:kABFirstNameProperty
                                 label:nil
                                   key:nil
                                 value:@"Y"
                            comparison:kABPrefixMatch];
  // その条件に合う人を取得!
  NSArray *personFound =
    [addressBook recordsMatchingSearchElement:searchElement];
  for(ABPerson *person in personFound) {
    // 名前を出力しますよー
    NSLog(@"%@ %@",
      [person valueForProperty:kABFirstNameProperty],
      [person valueForProperty:kABLastNameProperty]);
  }
  return 0;
}

test.mclang Xcode
$ clang -framework Foundation -framework AddressBook test.m
$ ./a.out
2011-10-13 21:24:44.173 a.out[57937:707] Y... I...
2011-10-13 21:24:44.174 a.out[57937:707] Y... T...
2011-10-13 21:24:44.175 a.out[57937:707] Y... N...
...


#import <AddressBook/AddressBook.h>

int main() {
  ABAddressBook *addressBook = [ABAddressBook sharedAddressBook];
  // ホームページが.phpで終わってる人を探します
  ABSearchElement *searchElement =
    [ABPerson searchElementForProperty:kABURLsProperty
                                 label:nil
                                   key:nil
                                 value:@".php"
                            comparison:kABSuffixMatch];
  NSArray *personFound =
    [addressBook recordsMatchingSearchElement:searchElement];
  for(ABPerson *person in personFound) {
    // 見つかった人からホームページの項目を全部消しちゃいます
    [person removeValueForProperty:kABURLsProperty];
  }
  // 変更を保存!
  [addressBook save];
  return 0;
}

AppleScriptAppleScriptAddressBook Framework使

Framework使Address Book Programming Guide for Mac OS XAPI使Address Book Objective-C Framework Reference for Mac OS X辿

AddressBook Framework!!