Clients cannot swap two identifiers of two records in one pass using clientChangedRecordIdentifiers:
.
For example, if clientChangedRecordIdentifiers:
is given the dictionary:
( |
a => b, |
b => a, |
) |
The two identifiers will not be swapped.
Workaround: Use two calls, and temporary IDs. First, remap B->TMPID2, and A->TMPID1. Then TMPID2->A and TMPID1->B.
Relationships whose Ordering key is "strong" do not cause an alert panel to appear when a conflict occurs. Order is still maintained, and the sync engine merges ordering conflicts. This behavior is identical to the behavior for relationships whose Ordering key is "weak".
Clients which do not format relationships can get improved performance by setting the key "NeverFormatsRelationships" to true in their client description property list.
The way weakly ordered relationships are handled has been changed slightly to give the original intended semantics of a weakly ordered list. Such merges should result in more predictable behaviour.
Clients can't delete a record, then re-use the deleted record's local ID within the same session.
Workaround: Remap the record to be deleted to a new local ID before deleting it. This frees the old record id so clients can rename a second record to the deleted local ID. For example, a client which wants to delete and/or accept a delete of a record with a local ID of "Phone1" and then rename the record with a local ID of "Phone2" to "Phone1" would do the following:
Remap "Phone1" to "temporaryID".
Delete "temporaryID".
Remap "Phone2" to "Phone1".
The following additions to the com.apple.contacts
schema are private and should not be synced:
originalImage
property in com.apple.contacts.Contact
imageTransformationInfo
property in com.apple.contacts.Contact
com.apple.contacts.ImageTransformationInfo
entity
© 2007 Apple Inc. All Rights Reserved. (Last updated: 2007-10-31)
|