Is it possible to both include and use the DFU component, inside the nRF-Toolbox, in a C# project?
Please advise or provide links on how-to.
Unfortunately we do not have any links or how-tos for Xamarin. For more information see for instance this thread: DFU in iOS Xamarin.
What we provide for iOS is the IOS-Pods-DFU-Libarary, which is mostly Swift. If you mean Objective C (and not C#) then you can follow this guide for using the library with Obj-C projects.
Following the instructions...
-Using the OTA DFU Library for Mac and iOS and following the Installation instructions for Obj-C projects
...the below results:
Using CocoaPods to get the framework is successful, but when attempting to generate the header files (ApiDefinition.h and Structs.h) via this objective sharpie command:
'sharpie bind -sdk iphoneos11.3 iOSDFULibrary.framework/headers/iOSDFULibrary-Swift.h'
The binding works and it generates the files, but both of the generated files do not build. Both are littered with errors. 49326 to put a # on it.
Could you please assist in generating the header files?
As per our email discussion, this is most probably an issue with Xamarin and iOS SDK 11.3, downgrade and use 11.2 or earlier to workaround the issue for now, can you please give some error logs on those warnings/errors you're receiving ? would be nice to know what these are:
jtth said:The binding works and it generates the files, but both of the generated files do not build. Both are littered with errors. 49326 to put a # on it.
I would vote against using 3rd party solutions that is not officially released by Nordic, There are tons of porblems that would come with that:
Xamarin exports xCode projects, and that's where the libraries should be natively imported and buit, Swift or Obj-C will not matter and both will natively compile with the Xamarin project.
This makes it easier for our users to update their projects with our latest releases and previews with a single update command and avoids the hassle of going through a third party :)
Of course there will be some trickery involved to get things working smoothly, but that's how it is with multi-platform solutions
but all in all the greater value would be to use our official libraries instead :)
Sent. See attached