Hi everyone,
I'm developing a standalone Matter controller app on iOS 18+ using Apple's Matter.framework directly — without integrating with Apple Home or HomeKit. We manage our own Matter fabric and handle the full commissioning flow ourselves.
Current setup:
- BLE-based Matter device discovery and commissioning via Matter.framework
- Own fabric management (not adding devices to Apple Home)
- During development, we rely on the "Bluetooth Central Matter Client Developer Mode" profile to enable BLE access
The challenge: As we approach our App Store release, we need end users to be able to commission Matter devices without installing any developer profiles. I'm trying to figure out the correct entitlement path for a non-HomeKit Matter controller app in production.
Questions:
- Which entitlements are required for a third-party Matter controller app using Matter.framework directly (not via HomeKit) to work in production?
- Is there a formal entitlement request process for something like com.apple.developer.matter.allow-setup-payload? If so, where do we initiate it?
- Are there additional program memberships or certifications required beyond the standard Apple Developer Program membership?
We've gone through the Matter framework documentation and relevant WWDC sessions but haven't found a clear answer specifically for non-HomeKit standalone Matter controller apps.
Would appreciate any input from Apple staff or developers who've shipped a similar app. Happy to provide more details if needed.
Tagging for visibility: @Apple or relevant team — this involves a non-HomeKit Matter.framework usage pattern and entitlement approval process.
I'm developing a standalone Matter controller app on iOS 18+ using Apple's Matter framework directly — without integrating with Apple Home or HomeKit.
The correct way to handle this is to use the MatterSupport framework.
We manage our own Matter fabric and handle the full commissioning flow ourselves.
The challenge: As we approach our App Store release, we need end users to be able to commission Matter devices without installing any developer profiles. I'm trying to figure out the correct entitlement path for a non-HomeKit Matter controller app in production.
You'll need to use the MatterSupport framework to handle the pairing process, as described in "Adding Matter support to your ecosystem".
- Which entitlements are required for a third-party Matter controller app using Matter.framework directly (not via HomeKit) to work in production?
There isn't one. You'll need to use the MatterSupport framework, as I mentioned above.
We've gone through the Matter framework documentation and relevant WWDC sessions but haven't found a clear answer specifically for non-HomeKit standalone Matter controller apps.
I think the terminology and interface flow may be confusing things a bit. The "point" of the MatterSupport framework is to manage the process of pairing accessories into multiple ecosystems, one of which happens to be HomeKit. Once paired, your ecosystem has its own pairing relationship, which it would then use to directly communicate with your accessory.
That basic flow isn't any different than what would happen if the user manually paired your accessory into HomeKit, either before pairing with your ecosystem or by putting the accessory into pairing mode after pairing with your ecosystem. I'm not sure it's possible to create an accessory that can only pair with one ecosystem, as that would somewhat defeat the purpose of Matter.
Finally, as a side note, HomeKit does provide its own flow (see this post for the details) that allows HomeKit apps to send Matter commands through HomeKit's ecosystem pairing. This path exists so that accessory vendors who want to rely primarily on HomeKit but also need some access to Matter aren't forced to create an ecosystem pairing they don't really "need". It is NOT intended to actually replace Matter and, in fact, complex accessory control will often require creating a full ecosystem pairing.
Finally:
Is there a formal entitlement request process for something like com.apple.developer.matter.allow-setup-payload?
First, just to be clear, that particular entitlement is an unrestricted entitlement, so you can add it to your app without any additional approval. However, most apps shouldn't need it, as they can retrieve the pairing payload by simply scanning the accessory QR code.
__
Kevin Elliott
DTS Engineer, CoreOS/Hardware