What iOS DFU library do I use to incorporate into an iOS for a specific custom device?

If I'm building an iOS app to connect to a nRF5340 device and want to build DFU/FOTA into my app. I used the IOS-nRF-Connect app and followed the FOTA over Bluetooth Low Energy lesson to update my DK. If I wanted to build the DFU functionality into my app specifically for my device, what library do I use? I see the IOS-DFU-Library, which has it's own screens, and the IOS-nRF-Toolbox but don't want a bunch of screens. I just need a button to update and some way to show progress, success, or failure.

Or do I use IOS-nRF-Connect-Device-Manager? Again, I just want to check for updates for a custom device and update it when one is available.

Since I updated the app from the nRF app it would be great to see the code as a guide. Also is there a specific service/characteristic required?

In another approach I downloaded the nRF Toolbox because the code for it is on GitHub which means I could actually see what it's doing, but the app_update.bin file I used with the nRF Connect for Mobile is greyed out. Only .zip files seem to be selectable. The screen says Choose DFU Distribution Package, so my guess is that the .bin does not conform to the distribution package.

When I read Developing with nRF5340 DK, I decided to try the dfu_application.zip, but got this error:

I get an error when using the nrf Connect mobile app for iOS and the dfu_application.zip but the app_update.bin still seemed to work.

Should I be using distribution packages moving forward? Is the .bin to update the app core the old way of doing this? If so is there a way to generate the package when I do a build? I suppose this could/should be initiated in a GitHub workflow.

Related