2011-04-14 11 views
10

Sunucu tarafında kişilerle kişiyi eşleştiren bir iPad uygulaması var.ABAddressbook-Girdileri Eşzamanlama

Yalnızca değişmiş olan ABAdressbook-Entries'i nasıl algılayabilirim? Sunucu tarafında, uygulamamda veya harici olarak ipad'de değişiklikler meydana gelebilir. Ben

void ABAddressBookRegisterExternalChangeCallback (
    ABAddressBookRef addressBook, 
    ABExternalChangeCallback callback, 
    void *context 
); 

kullandığınızda

Ben dış değişikliklerin geri arama almak, ama ne değiştirdi hakkında herhangi bir bilgi yoktur. Bu bilgiyi nasıl alabilirim?

NSString * const kABModificationDateProperty'u kullanırken ne ile karşılaştırılacağını bilmiyorum.

cevap

4

Bunun için bir çözümünüz varsa, bilmiyorum. Değilse, muhtemelen bu size yardımcı olacaktır:

NSArray *allPeople = (NSArray *)ABAddressBookCopyArrayOfAllPeople(yourAddressBook); 

for (int i = 0; i < allPeople.count; i++) { 
    ABRecordRef *person = (ABAddressBookRef *)[allPeople abjectAtIndex:i]; 

    NSDate *lastModiDate = (NSDate*)ABRecordCopyValue(person, kABPersonModificationDateProperty); 
    NSLog(@"Last modification date: %@ of entry: %@", lastModiDate, person); 
} 
+0

Bunun için teşekkürler. Bunun büyük bir fark yarattığından emin değilim, ama muhtemelen şunu yerine getirebilirim: 'NSDate * lastModiDate = (NSDate *) [kişi valueForProperty: kABModificationDateProperty];' –

+0

Başkan için Bay T! – theDuncs

1

Aslında sunucu ve senkronize etmek istediğiniz her kişi için yerel kitap arasında tüm alanları karşılaştırmak gerekir.