My iOS app uses the Matter framework to commission devices over Wi-Fi (not Thread). With the Matter Client Developer Profile installed, commissioning works perfectly. However, in TestFlight builds without the profile, commissioning fails, even though the app includes the Matter Allow Setup Payload capability and the following in Info.plist:
<key>NSBonjourServices</key>
<array>
<string>_matter._tcp</string>
<string>_matterc._udp</string>
<string>_matterd._udp</string>
</array>
How can I enable Matter device commissioning using the Matter framework in production/TestFlight builds without the Matter Client Developer Profile?
Please provide guidance or specific configurations needed for production environments
Is it possible to commission Matter device without using MatterSupport.framework?
No, not in the "general" case*.
*The system blocks access to specific BLE characteristics that are part of the "basic" commissioning flow used for new accessories. However, I believe their are other pairing flows that would bypass this flow (for example, secondary commissioning of WiFi accessories).
I've tried using Matter.framework alone and it works fine for me. However, a client developer profile is requiered in this situation, which means it doesn't work on TestFlight's release builds without client developer profile.
Yes, that's correct.
Is there a way to replace the client developer profile in the release builds? I hope so.
No.
Or I must use the Matter extension and the MatterSupport.framework to start and then use Matter.framework for commissioning to my ecosystem?
Yes, however, I want to clarify that the MatterSupport framework's role here is to facilitate the pairing process, not perform it. The actual pairing process is still handled entirely Matter framework.
__
Kevin Elliott
DTS Engineer, CoreOS/Hardware