My product read RFID tag and send it to Host (Windows).
As a small clarification here, how is the output actually sent out through HID? The broad architecture here sounds similar to how many barcode scanners work, which is that they present themselves to the device as a standard keyboard and then send the scanned barcode data by sending individual keystrokes, just like the user has typed those keys on a standard keyboard.
I don't know if that approach will work for RFID data, but the benefit of this approach is that it allows easy integration into basically "any" app without any additional driver or software. As far as the target app is concerned, the user is just typing data. In any case if you are using this approach, then not additional software (or DriverKit driver) is required
However, if you're using HID as a vendor specific transport layer, then:
In this case do I have to get certificate(for example MFi) like Apple USB accessory?
No. The MFi program does not certify vendor specific HID accessories.
B. iPad(USB-C): We're planning to develop custom driver.
Questions
HID mode: Does my product get certificate with standard HID protocol?
USB-CDC: Does my product get certificate with custom driver?
I'm not sure what you mean by "certificate" here. What I will say here is:
-
Shipping a DriverKit DEXT requires the correct managed entitlements for the DriverKit family you'll be using. You can learn more about that process in the article "Requesting Entitlements for DriverKit Development".
-
As documented in "Creating drivers for iPadOS", iPadOS does not currently include support for HIDDriverKit. That means you're DEXT will need to be build with USBDriverKit and "raw" USB communication.
-
Note that this guidance does NOT apply to macOS. On macOS, app can communicate directly with vendor specific HID accessories using the CoreHID framework, which does not require a managed entitlement or a DEXT.
__
Kevin Elliott
DTS Engineer, CoreOS/Hardware