This is an Xamarin binding library for the Nordic Semiconductors Android library for updating the firmware of their devices over the air via Bluetooth Low Energy.
The Java library is located here: https://github.com/NordicSemiconductor/Android-DFU-Library
The native iOS Pod library is located here: https://github.com/NordicSemiconductor/IOS-Pods-DFU-Library
You'll need :
- MacOS
- with XCode
- with Xamarin.iOS
- with gradle
- with Xamarin.Android
- [with ObjectiveSharpie] (optional)
brew cask install objectivesharpie
git clone https://github.com/Laerdal/Laerdal.Dfu.git
There are 2 sources for the iOS package : via building the release code or using the CocoaPods.
To build the nuget via building the source code, run :
./build.sh
Otherwise, to download cocoapods xcframeworks :
./build.sh --use-carthage
You'll find the nuget in Laerdal.Dfu.Output/
Fix : Laerdal/Laerdal.Dfu.iOS#3 (comment) |
#!/usr/bin/env sh
xcode_lib_path="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos"
app_path=$1
app_name=<insert app name>
libs=("$app_path/Products/Applications/$app_name/Frameworks/"*.dylib)
for i in "${libs[@]}"
do
cp "$xcode_lib_path/$(basename "$i")" "$app_path/SwiftSupport/iphoneos/"
cp "$xcode_lib_path/$(basename "$i")" "$app_path/Products/Applications/$app_name/Frameworks/"
done
-- Thanks @OliverFlecke
Fix : You might need to add "--optimize=-remove-dynamic-registrar" to your apps mtouch args.