From ec5364755f4fcdf68d62ff4cf796d22e7b935f40 Mon Sep 17 00:00:00 2001 From: philips77 Date: Thu, 30 Jun 2022 14:56:12 +0200 Subject: [PATCH] Version 4.13.0 --- Example/Podfile.lock | 4 +- .../Local Podspecs/iOSDFULibrary.podspec.json | 4 +- Example/Pods/Manifest.lock | 4 +- .../iOSDFULibrary-iOS-Info.plist | 2 +- .../iOSDFULibrary-macOS-Info.plist | 2 +- README.md | 18 +++--- README_OBJC.md | 4 +- changelog.md | 4 ++ documentation.md | 58 ++----------------- iOSDFULibrary.podspec | 2 +- 10 files changed, 29 insertions(+), 73 deletions(-) diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 17166194..b805b366 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - iOSDFULibrary (4.12.0): + - iOSDFULibrary (4.13.0): - ZIPFoundation (= 0.9.11) - ZIPFoundation (0.9.11) @@ -15,7 +15,7 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - iOSDFULibrary: 9474d6f5a0db68abdbee465ef9274d549a67b2b3 + iOSDFULibrary: 3b9de67ed4bfb901b5f09c2fea843f65e152612d ZIPFoundation: b1f0de4eed33e74a676f76e12559ab6b75990197 PODFILE CHECKSUM: 16697609d795697cac6384a823bc962ccbddb9d0 diff --git a/Example/Pods/Local Podspecs/iOSDFULibrary.podspec.json b/Example/Pods/Local Podspecs/iOSDFULibrary.podspec.json index 27516418..9a7defe5 100644 --- a/Example/Pods/Local Podspecs/iOSDFULibrary.podspec.json +++ b/Example/Pods/Local Podspecs/iOSDFULibrary.podspec.json @@ -1,6 +1,6 @@ { "name": "iOSDFULibrary", - "version": "4.12.0", + "version": "4.13.0", "summary": "This repository contains a library to perform Device Firmware Update on the nRF5x devices.", "description": "The nRF5x Series chips are flash-based SoCs, and as such they represent the most flexible solution available. A key feature of the nRF5x Series and their associated software architecture and S-Series SoftDevices is the possibility for Over-The-Air Device Firmware Upgrade (OTA-DFU). See Figure 1. OTA-DFU allows firmware upgrades to be issued and downloaded to products in the field via the cloud and so enables OEMs to fix bugs and introduce new features to products that are already out on the market. This brings added security and flexibility to product development when using the nRF5x Series SoCs.", "homepage": "https://github.com/NordicSemiconductor/IOS-DFU-Library", @@ -10,7 +10,7 @@ }, "source": { "git": "https://github.com/NordicSemiconductor/IOS-DFU-Library.git", - "tag": "4.12.0" + "tag": "4.13.0" }, "social_media_url": "https://twitter.com/nordictweets", "swift_versions": [ diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 17166194..b805b366 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,5 +1,5 @@ PODS: - - iOSDFULibrary (4.12.0): + - iOSDFULibrary (4.13.0): - ZIPFoundation (= 0.9.11) - ZIPFoundation (0.9.11) @@ -15,7 +15,7 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - iOSDFULibrary: 9474d6f5a0db68abdbee465ef9274d549a67b2b3 + iOSDFULibrary: 3b9de67ed4bfb901b5f09c2fea843f65e152612d ZIPFoundation: b1f0de4eed33e74a676f76e12559ab6b75990197 PODFILE CHECKSUM: 16697609d795697cac6384a823bc962ccbddb9d0 diff --git a/Example/Pods/Target Support Files/iOSDFULibrary-iOS/iOSDFULibrary-iOS-Info.plist b/Example/Pods/Target Support Files/iOSDFULibrary-iOS/iOSDFULibrary-iOS-Info.plist index f98cf32b..f1b279a5 100644 --- a/Example/Pods/Target Support Files/iOSDFULibrary-iOS/iOSDFULibrary-iOS-Info.plist +++ b/Example/Pods/Target Support Files/iOSDFULibrary-iOS/iOSDFULibrary-iOS-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 4.12.0 + 4.13.0 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/iOSDFULibrary-macOS/iOSDFULibrary-macOS-Info.plist b/Example/Pods/Target Support Files/iOSDFULibrary-macOS/iOSDFULibrary-macOS-Info.plist index f98cf32b..f1b279a5 100644 --- a/Example/Pods/Target Support Files/iOSDFULibrary-macOS/iOSDFULibrary-macOS-Info.plist +++ b/Example/Pods/Target Support Files/iOSDFULibrary-macOS/iOSDFULibrary-macOS-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 4.12.0 + 4.13.0 CFBundleSignature ???? CFBundleVersion diff --git a/README.md b/README.md index 4bbe7564..ff432186 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ if you need to resymbolicate crash logs. you may want to keep those files bundle **For Swift Package Manager:** ```swift -// swift-tools-version:5.5 +// swift-tools-version:5.6 import PackageDescription let package = Package( @@ -67,7 +67,7 @@ let package = Package( dependencies: [ .package( url: "https://github.com/NordicSemiconductor/IOS-DFU-Library", - .upToNextMajor(from: "") + .upToNextMajor(from: "") ) ], targets: [.target(name: "", dependencies: ["NordicDFU"])] @@ -76,7 +76,7 @@ let package = Package( --- -### Device Firmware Update (DFU) +## Device Firmware Update (DFU) The nRF5x Series chips are flash-based SoCs, and as such they represent the most flexible solution available. A key feature of the nRF5x Series and their associated software architecture and S-Series SoftDevices is the @@ -126,21 +126,21 @@ indication when entered DFU mode and app mode. For bonded devices it is recommen --- -### Documentation +## Documentation See the [documentation](documentation.md) for more information. --- -### Requirements +## Requirements The library is compatible with nRF51 and nRF52 devices with S-Series Soft Device and the DFU Bootloader flashed on. --- -### DFU History +## DFU History -#### Legacy DFU +### Legacy DFU * **SDK 4.3.0** - First version of DFU over Bluetooth Smart. DFU supports Application update. * **SDK 6.1.0** - DFU Bootloader supports Soft Device and Bootloader update. As the updated Bootloader may be dependent on the new Soft Device, those two may be sent and installed together. @@ -153,7 +153,7 @@ The library is compatible with nRF51 and nRF52 devices with S-Series Soft Device - Buttonless update support for bonded devices - sharing the LTK between an app and the bootloader. -#### Secure DFU +### Secure DFU * **SDK 12.0.0** - New Secure DFU has been released. This library is fully backwards compatible so supports both the new and legacy DFU. * **SDK 13.0.0** - Buttonless DFU (still experimental) uses different UUIDs. No bond sharing supported. Bootloader will use address +1. @@ -164,6 +164,8 @@ This library is fully backwards compatible and supports both the new and legacy Check platform folders for mode details about compatibility for each library. +## Other frameworks + ### React Native An unofficial library for both iOS and Android that is based on this library is available for React Native: [react-native-nordic-dfu](https://github.com/Pilloxa/react-native-nordic-dfu) diff --git a/README_OBJC.md b/README_OBJC.md index 9505bde9..b0d34325 100644 --- a/README_OBJC.md +++ b/README_OBJC.md @@ -14,9 +14,9 @@ pod 'iOSDFULibrary' end ``` - Install dependencies - +``` pod install - +``` - Open the newly created `.xcworkspace` and begin working on your project. - If Xcode asks to migrate code to Swift 5.5, choose **Later**. (The codebase is Swift 5.5 already) - Click on the `Pods` project, then go to the `Build Settings` diff --git a/changelog.md b/changelog.md index 4d1016d7..341beb14 100644 --- a/changelog.md +++ b/changelog.md @@ -1,4 +1,8 @@ ### Changelog +- **4.13.0** + - Breaking change: Creating DFUFirmware may now throw an error, instead of returning nil (#486). + - Improvement: Internal logging improvements (#487). + - **4.12.0** - Bugfix: Issue with incorrect resuming Init Packet fixed (#485). - Bugfix: Fixed crash when Calculate checksum reasponse was received instead of Select Object response (#483, #480). diff --git a/documentation.md b/documentation.md index a6a523d1..512426b1 100644 --- a/documentation.md +++ b/documentation.md @@ -30,60 +30,10 @@ In case of any communication error the peripheral device will never be bricked. * **An iPhone 4S or iPad 2 or newer with iOS 9+** - Support for the Bluetooth 4.0 technology is required. + Support for the Bluetooth 4.0 technology is required. * **nRF5x device for testing.** - A nRF5x Series device is required to test the working solution. If your final product is not available, use the nRF5x DK, which you can find [here](http://www.nordicsemi.com/eng/Products/nRF51-DK "nRF51 DK") or [here](http://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF52-DK "nRF52 DK"). - -### Integration - -To include the library in your project do one of those options: - -1. Cocoapods (recommended): - - Open up a terminal window, cd to your project's root and create a `Podfile` with the follwoing content: - - ``` - use_frameworks! - target 'YourAppTargetName' do - pod 'iOSDFULibrary' - end - ``` - Then install dependencies - ``` - pod install - ``` - - **Notice:** Our Cocoapods releases will always be the exact same version as this repository. you may [follow our pod repository here](http://github.com/NordicSemiconductor/IOS-DFU-Library). - -2. Include the library as a precompiled framework: - - Copy the DFULibrary.framework file to you project. - Add this framework to Embedded Binaries in the Target->Settings->General. - -3. Include the library as source code: - - Create a Workspace (if you already don't have one). - Add your project to the workspace. - Add the DFULibrary.xcodeproj file below your project, on the same level: -``` - MyProject - - MyProject - - MyProjectTests - - Products - DFULibrary - - DFULibrary - - DFULibraryTests - - Frameworks - - Products - - DFULibrary.framework <- this file - - DFULibraryTests.xctest -``` - Add (drag&drop) the DFULibrary.framework product file to your Target's Embedded Binaries. - A framework build may be necessary. The framework must exist (color black, not red). - -If you decide to use option **2** or **3**, make sure you have the `Embedded Content contains Swift code` set to `YES` in your -target's **Build Options->Build Settings** + A nRF5x Series device is required to test the working solution. If your final product is not available, use the nRF5x DK, which you can find [here](http://www.nordicsemi.com/eng/Products/nRF51-DK "nRF51 DK") or ### Usage @@ -100,9 +50,9 @@ To start the DFU process you have to do 2 things: ``` Swift: ```swift - let selectedFirmware = DFUFirmware(urlToZipFile:url) + let selectedFirmware = try DFUFirmware(urlToZipFile: url) // or - let selectedFirmware = DFUFirmware(urlToBinOrHexFile: url, urlToDatFile: datUrl, type: DFUFirmwareType.Application) + let selectedFirmware = try DFUFirmware(urlToBinOrHexFile: url, urlToDatFile: datUrl, type: .application) ``` 2. The `DFUFirmware` object allows you to get basic information about the firmware, like sizes of each component or number of parts. diff --git a/iOSDFULibrary.podspec b/iOSDFULibrary.podspec index 1d9bddc8..9afcdc67 100644 --- a/iOSDFULibrary.podspec +++ b/iOSDFULibrary.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "iOSDFULibrary" - s.version = "4.12.0" + s.version = "4.13.0" s.summary = "This repository contains a library to perform Device Firmware Update on the nRF5x devices." s.description = <<-DESC The nRF5x Series chips are flash-based SoCs, and as such they represent the most flexible solution available. A key feature of the nRF5x Series and their associated software architecture and S-Series SoftDevices is the possibility for Over-The-Air Device Firmware Upgrade (OTA-DFU). See Figure 1. OTA-DFU allows firmware upgrades to be issued and downloaded to products in the field via the cloud and so enables OEMs to fix bugs and introduce new features to products that are already out on the market. This brings added security and flexibility to product development when using the nRF5x Series SoCs.