我的問題是圍繞iPhone上聯繫人列表的人員條目中的一些默認電話號碼標籤的標記。什麼是圍繞默認iPhone通訊錄人電話號碼標籤的標籤?
我已經創建了一個人, 「約翰·史密斯」 與下面的電話號碼條目的iPhone聯繫人列表中的地址簿條目:
- 中移動(604)123-4567
- iPhone(778)123 -4567
- 首頁(604)789-4561
- 工作(604)456-7891
- 主(604)789-1234
- 擴音器(234)567-8990
請注意,前五個標籤是Contacts應用程序提供的默認標籤,最後一個標籤「megaphone」是自定義標籤。
我寫了下面的方法來檢索和每個人在地址簿中顯示的標籤和電話號碼:
-(void)displayPhoneNumbersForAddressBook {
ABAddressBookRef book = ABAddressBookCreate();
CFArrayRef people = ABAddressBookCopyArrayOfAllPeople(book);
ABRecordRef record = CFArrayGetValueAtIndex(people, 0);
ABMultiValueRef multi = ABRecordCopyValue(record, kABPersonPhoneProperty);
NSLog(@"---------");
NSLog(@"displayPhoneNumbersForAddressBook");
CFStringRef label, phone;
for (CFIndex i = 0; i < ABMultiValueGetCount(multi); ++i) {
label = ABMultiValueCopyLabelAtIndex(multi, i);
phone = ABMultiValueCopyValueAtIndex(multi, i);
NSLog(@"label: \"%@\" number: \"%@\"", (NSString*)label, (NSString*)phone);
CFRelease(label);
CFRelease(phone);
}
NSLog(@"---------");
CFRelease(multi);
CFRelease(people);
CFRelease(book);
}
,這裏是爲我輸入的地址簿輸入輸出:
2010-03-08 13:24:28.789 test2m[2479:207] ---------
2010-03-08 13:24:28.789 test2m[2479:207] displayPhoneNumbersForAddressBook
2010-03-08 13:24:28.790 test2m[2479:207] label: "_$!<Mobile>!$_" number: "(604) 123-4567"
2010-03-08 13:24:28.790 test2m[2479:207] label: "iPhone" number: "(778) 123-4567"
2010-03-08 13:24:28.791 test2m[2479:207] label: "_$!<Home>!$_" number: "(604) 789-4561"
2010-03-08 13:24:28.791 test2m[2479:207] label: "_$!<Work>!$_" number: "(604) 456-7891"
2010-03-08 13:24:28.792 test2m[2479:207] label: "_$!<Main>!$_" number: "(604) 789-1234"
2010-03-08 13:24:28.792 test2m[2479:207] label: "megaphone" number: "(234) 567-8990"
2010-03-08 13:24:28.793 test2m[2479:207] ---------
什麼標記字符
_$!<and>!$_
周圍大多數,SA iPhone的默認標籤爲?
你能指點我在「iPhone OS上的地址簿編程指南」中可以找到的信息嗎?
謝謝你的幫助。
您可以使用ABAddressBookCopyLocalizedLabel(ABMultiValueCopyLabelAtIndex(multi,i))來消除這些標記字符。 – digdog 2010-03-14 01:27:06
謝謝,Digdog,我不知道。 – rnistuk 2010-03-14 20:29:05