I am currently developing a kiosk system that incorporates an iPad along with a custom peripheral device. The two components are intended to communicate via USB serial.
I have encountered a critical issue while working with the official DriverKit sample code provided at the following link:
https://developer.apple.com/documentation/driverkit/communicating-between-a-driverkit-extension-and-a-client-app
Model info :
iPad Pro 12.9-inch (5th generation / M1 chipset)
iPadOS 18.4.1
App Stops Functioning After Repeated Builds
When I first build and run the sample code without any modifications, it works as expected. However, after making changes and running the app repeatedly on the iPad, it eventually reaches a state where the app stops functioning completely — no logs are printed, and device communication fails.
Reinstalling the app or rebooting the iPad does not resolve the issue. Even when I revert to the original, unmodified sample code, the problem persists. Surprisingly, if I generate a new Bundle Identifier, the app functions normally again.
I would like to ask:
What could be causing this behavior?
Have similar cases been reported before?
For your reference, I’ve attached a video demonstrating the issue and the source code used during the recording:
Source Code:
https://drive.google.com/file/d/14whvWwuhrmS5VoR3sSKyNT-GpTPC_c_8/view?usp=sharing
Video:
https://drive.google.com/file/d/1SfqIkEphSDrvg-CKS6KBcJ1VBP3cPqCC/view?usp=sharing
Request for USB Serial Communication Reference
Currently, due to the issue above, I am unable to obtain a device instance at all.
Even assuming this is resolved, I noticed that the sample code does not include any implementation or reference material for USB serial communication itself.
Is there any official sample code or documentation available that demonstrates USB serial communication between an iPad and an external device using DriverKit?
Difficulty Debugging Due to Missing os_log Output
Another challenge I'm facing is the inability to view os_log output while connecting the USB device to the iPad.
This significantly hinders the debugging process during DriverKit development.
Are there any recommended or supported methods for accessing logs and debugging effectively in this environment?
Selecting any option will automatically load the page