iOS developer here.. You do not need to jailbreak to communicate with anything over USB. You also do not need the MFI license either (this license is for hardware certification and development)..
If all you want to do is communicate over USB, then libusb builds for iOS just fine and works (iFunbox used to use it iirc). Also you can use EASession (iOS 3+) from the "ExternalAccessory" framework which you can link to in XCode's framework and library user General tab for your project (
https://i.imgur.com/lffgsDS.png). Then you'd have to setup the streams and notifications for devices connecting and disconnecting and sending data.
Again, if you're just doing software stuff like talking to a device, then you don't have to jailbreak. It's also free to get a developer license for personal use to run apps on your phone. You obviously cannot distribute the app but you can distribute the code. You can distribute the app + a script to resign it with another developer account so users can do that.
Edit: It seems computer to USB is much easier than iPhone to some other device (I just tried.. I can communicate from computer to phone.. but can't get the phone to communicate with the switch using the USBC-To-Lightning cable).. weird.