9

私のアプリは、ユーザーの連絡先をサーバーに保存する必要があります (もちろん、ユーザーの許可が必要です)。その要件の 1 つは、デバイスのアドレス帳の変更 (追加/編集/削除) をサーバーに反映することです。

アプリケーションを再起動する前に変更されたアドレス帳の連絡先を特定する簡単な方法/ベスト プラクティスはありますか?

私が確認できるのは、アドレス帳の変更をアプリケーションに通知するコールバック メソッドだけですが、どの連絡先が追加、編集、または削除されたかを判断する方法が文書化されていないようです。

私が今考えているのは、連絡先の新しいリストをデバイスに保存されているものと手動で比較し、アプリケーションとサーバーの両方を更新して変更することです。ただ、連絡先が多いユーザーだと多すぎるのではないかと思います。

ありがとう!

4

2 に答える 2

1

libsqlite3.dylib の使用を検討し、必要なすべてのプロパティに対して生成されたフラット ファイルにアクセスする SQL データベースを作成し、データベースをユーザーのデバイスと定期的に比較します。両方のデータベースが abaddressbook フレームワークから必要なものだけを取得するようにしてください。

sqlite3 ライブラリを使用したサンプル iOS プロジェクトは次のとおりです。

http://www.techotopia.com/index.php/An_Example_SQLite_based_iOS_7_Application

& 連絡先の複数値プロパティの ABAddressbook を使用した詳細は、次のとおりです。

http://linuxsleuthing.blogspot.com/2012/10/addressing-ios6-address-book-and-sqlite.html

于 2014-06-03T13:22:32.407 に答える