From my iMessage extension I am sending a message that contains an image in it's layout.
After the message is sent, the didRecieve callback gets the exact same message as the one I sent (it has it's layout propery the same). However, the message parameter of didSelect has it's layout nil. So whenever the user taps a message and didSelect gets called, the message has no layout property even though it contains an image and it was correctly recieved in didRecieve.
The selectedMessage property also has it's layout set to nil.
Is this the expected functionality or is it a bug in the current version of iOS 10?
The selected Message having a nil layout is expected. Received messages won't have a layout object filled in.
The part about didReceive being called with the same message doesn't seem right, unless you're sending them to yourself and it's showing up in the same conversation (although even that I'm not sure would be expected behavior).