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?

Accepted Reply

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

Replies

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

Is this expected behavior can be discussed further on? or it won't change for sure?
Cause there is an open radar (27415409) and it's still opened since July 18th.


I hope this behavior can be discussed with Apple engineers.

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.