Use 3rd party USB drivers in iPadOS?

Hi everyone, I'm working with a third party to integrate their USB driver into our app and I'm wondering if iPadOS supports bundling a prebuilt .systemextension file with the entitlement com.apple.developer.system-extension.redistributable into our app that has the com.apple.developer.driverkit.communicates-with-drivers entitlement?

If not, is there a way to bundle a third party USB driver into our iPad app?

Answered by DTS Engineer in 851455022
I'm wondering if iPadOS supports bundling a prebuilt .systemextension file with the entitlement com.apple.developer.system-extension.redistributable

No.

For a start, the docs for com.apple.developer.system-extension.redistributable list it as macOS only.

But regardless of that, App Store re-signs apps during the submission process, so it’s literally impossible for an iOS app to have different parts signed by different developers, because once the app gets to the device it’s actually all signed by Apple.

Having said that, there’s nothing to stop you from getting a pre-built sysex from a vendor, signing it with your distribution signing identity, and embedding that in your iOS app. However, there is a significant drawback here: The sysex needs managed entitlements to work correctly and those are granted on a team-by-team basis. So, if your sign the code as your team, you’d need to apply for those managed entitlements. On macOS you can sidestep that using com.apple.developer.system-extension.redistributable, but that’s not available on iOS.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

I'm wondering if iPadOS supports bundling a prebuilt .systemextension file with the entitlement com.apple.developer.system-extension.redistributable

No.

For a start, the docs for com.apple.developer.system-extension.redistributable list it as macOS only.

But regardless of that, App Store re-signs apps during the submission process, so it’s literally impossible for an iOS app to have different parts signed by different developers, because once the app gets to the device it’s actually all signed by Apple.

Having said that, there’s nothing to stop you from getting a pre-built sysex from a vendor, signing it with your distribution signing identity, and embedding that in your iOS app. However, there is a significant drawback here: The sysex needs managed entitlements to work correctly and those are granted on a team-by-team basis. So, if your sign the code as your team, you’d need to apply for those managed entitlements. On macOS you can sidestep that using com.apple.developer.system-extension.redistributable, but that’s not available on iOS.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Thanks for the reply! Small follow up question, our app will be distributed to enterprise devices only through Intune MDM. Does this affect how we could sign and distribute our app?

For example, could we embed their pre-built AND signed sysex since it never needs to be re-signed on the app store?

Use 3rd party USB drivers in iPadOS?
 
 
Q