I have two apps that share a drawing canvas, let's call one "child" and the other "parent".
They both encode their own drawings and upload them to Parse. When they are sharing the same drawing, it is actually their individual drawings overlaid on one another.
The issue I am having is that they are unable to decode the other person's drawing. They are able to decode their own, and they use the exact same class structure for the drawing canvas and the encoding/decoding process.
These are two separate apps though (since they are built differently otherwise) - is it possible that something about the application ID is encoded into the NSData file?
As a guess, I'd say that since you're using swift, the package name is encoded into the class name and hence into the streamed archive. Make sure all your classes are declared with @objc (which will defeat the class name mangling) and see if that works.