2009-08-11 21 views
3

iPhone用の内蔵アドレス帳フレームワークを使用して、特定の連絡先リストをNSUserDefaultsのアレイに保存するにはどうすればよいですか?私は後で受信者のリストを保存する必要があります。NSUserDefaultsへの連絡先リストの保存

私は、アプリケーションを閉じた後にユーザーが連絡先を編集しても問題にならないようにしたいと思っています。各連絡先には一意のIDがありますか?後で保存して検索することはできますか?

答えて

2

ABRecordIDは最も確かに変更を行います(これに苦労して学んだ - 複数のマシンに接触同期の結果として)」

マットGemmellはiphone-dev-tips-for-synced-contacts

で素敵な過去記事を持っている私は保存しませんABRecordId、名、姓、電子メールアドレス、電話番号(最後の2つは私のアプリケーションで直接使用されています)のような名前です。

私は姓、名の潜在的な一致を検索して、電話番号によって、それを改善するために、コードの束を使用し

ABRecordRef aRef = ABAddressBookGetPersonWithRecordID(addressBook, aRecordId); 

にヒットを取得しない場合。

最終的には、生成されたUUIDを連絡先に関連付けて、この(潜在的に)ファジー解像度のすべてが私が連絡先に関連付けているデータから抽象化されるようにします。

0

ABRecordRefには、後でアクセスできるように一意に識別できるABRecordIDプロパティがあります。

+0

これは、同期のために信頼できません。おそらく'09年にこれはそうではありませんでした。 – MrTristan

2

これに注意してください。ユーザーがデバイスを同期したときにこのABRecordIDが変更される可能性のある問題があったと思います(少なくともOS3.0以前)。これは、そのIDを再度使用することに頼っている場合、明らかに問題を引き起こす可能性があります。これがまだOS3.0で起こっているかどうかはわかりません。

http://discussions.apple.com/thread.jspa?threadID=1771736

に注意するだけで何か。

関連する問題