Managed objects synced via iCloud have the wrong entity.

Originator:atomicbird
Number:rdar://13102447 Date Originated:28-Jan-2013 07:14 PM
Status:Open Resolved:
Product:iCloud Product Version:10.8.2
Classification:Serious Bug Reproducible:Always
 
[Note, this has been edited pretty heavily from the actual bug report due to confidentiality issues.]


Summary:

Managed objects synced via iCloud have the wrong entity.


Steps to Reproduce:

Build an app that uses Core Data's built in iCloud syncing. Then create some data on one Mac, and inspect the results received on a different Mac.


Expected Results:

Objects created on one Mac would appear on the other Mac with the same Core Data entity as the one used to create the object.


Actual Results:

Frequently, the following (for my data model, at least):

1. Create an object on Mac A using entity ItemType1
2. Receive an object on Mac B with the same attributes and relationships, but which is an instance of entity ItemType2.

In my case I can verify that it's the same instance because the entity has a field that stores a string representation of a UUID. It also has a "type" field that tells me which item type it's supposed to be. By comparing UUIDs and "type", I can verify that the received object is the same as the one created and that it should be an instance of ItemType1.

This does not affect every instance of ItemType1. I have not been able to detect a pattern that correlates the problem with any attributes of the affected instances.

Regression:

None, but FWIW both Macs are running 10.8.2.

Notes:

Perhaps not coincidentally, both ItemType1 and ItemType2 inherit from the same abstract parent entity (FooItem) which in turn inherits from another abstract parent entity (AbstractItem).

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!