GroupActivityMessenger between visionOS and iOS

I have an app which passes GroupActivity messages between instances running on iOS and visionOS provided both instances were built from the same target. They do not pass successfully if the apps were built from different targets, even though the one is a duplicate of the other. I have a sample demonstrating the issue:

https://github.com/bwake2012/GroupActivitiesColors

I need different targets because not all third party libraries support all devices. Libraries which support connected external hardware may never support visionOS. Multiple targets is the simplest way I can see to deal with that.

The two targets are duplicates, except for the destinations.

The app instances appear to join the session correctly. You can see screen shots from two devices in the same session.

I see errors in the debugger:

messageStream(for:messageType:):618 Explanation: Decoding message from data Error: Swift.DecodingError.valueNotFound(Any, Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "message", intValue: nil), CodingKeys(stringValue: "t", intValue: nil)], debugDescription: "Decoder for value of GroupActivitiesColors.ChooseColorMessage.self not found.", underlyingError: nil))

Answered by bobfromplano in 819786022

Never mind. It turns out that all the targets need to have the same product name. The product name defaults to the $(TARGET_NAME). I made sure the bundle names matched, but not the product names.

Accepted Answer

Never mind. It turns out that all the targets need to have the same product name. The product name defaults to the $(TARGET_NAME). I made sure the bundle names matched, but not the product names.

GroupActivityMessenger between visionOS and iOS
 
 
Q