didSelect message layout property nil

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?

Answered by Documentation Engineer in 158557022

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).

Accepted Answer

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).

No, this is not going to change. The bug you quoted is no longer open, it was closed and indicated that the current behavior is the intended behavior and won't change. Information that needs to be conveyed in the message needs to be encoded in the URL, or stored at a location specified by the URL and retrieved that way.

Not being able to access the sent image is extremely limiting and makes message extensions inherently less useful.

didSelect message layout property nil
 
 
Q