私はABNewPersonViewController
人を作成するためにを使用しています。これまでのところ、すべて正常に動作しています。単一の値だけでなく、複数の値のプロパティも設定します。「追加」をタップすると、連絡先がアドレス帳に表示されます。
ただし、この連絡先を編集するときに問題があります。連絡先をアドレス帳に追加した後、連絡addressbookID
先がABに保存されているかどうかを識別できるように、を保存します。
したがって、ユーザーが連絡先を再度エクスポートする場合は、新しい連絡先を作成しませんABPersonRecordRef
が、以前に保存したIDで識別される既存の連絡先を使用します。
ABRecordID recordId = [aContact.addressBookRecordId intValue];
ABRecordRef personRecord = nil;
if(recordId != 0) {
personRecord = ABAddressBookGetPersonWithRecordID(addressBook, recordId);
if(personRecord) {
return personRecord;
} else {
personRecord = ABPersonCreate();
}
} else {
personRecord = ABPersonCreate();
}
//set properties etc.
現在の問題は、これが初めて機能することです。ユーザーがその人物をもう一度表示し、[ABNewPersonViewController
キャンセル]をタップすると、名簿のレコードが削除されます。以前は問題なく保存されていましたが。
を使用してみましたABUnknownPersonViewController
が、問題は、recordRefの属性detが。のように正確に表示されないように見えることですABNewPersonViewController
。
助言がありますか?