Skip to content

Commit 5100025

Browse files
author
Mostafa Berg
committed
+ Release 3.1.0
+ Minor code refactor for Data struct manipulation + Workaround: Bootloader for SDK6 requires a slower process, added a wait to circumvent that issue.
2 parents 884ea26 + a5b3b5a commit 5100025

30 files changed

+637
-525
lines changed

Example/Podfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
use_frameworks!
2-
32
target 'iOSDFULibrary_Example' do
3+
platform :ios, '8.0'
44
pod 'iOSDFULibrary', :path => '../'
55
end
66

77
target 'iOSDFULibrary_Tests' do
8+
platform :ios, '8.0'
89
pod 'iOSDFULibrary', :path => '../'
910
end

Example/Podfile.lock

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PODS:
2-
- iOSDFULibrary (3.0.6):
3-
- Zip (~> 0.6)
4-
- Zip (0.6.0)
2+
- iOSDFULibrary (3.1.0):
3+
- Zip (~> 0.7)
4+
- Zip (0.7.0)
55

66
DEPENDENCIES:
77
- iOSDFULibrary (from `../`)
@@ -11,9 +11,9 @@ EXTERNAL SOURCES:
1111
:path: ../
1212

1313
SPEC CHECKSUMS:
14-
iOSDFULibrary: e01a7129eef7be58acffff284da0630e6b8759fb
15-
Zip: 805fc2fa9d2f05bbb7762d982d7a42ccdcc51f42
14+
iOSDFULibrary: c629c345864062d2abec0fb3d538e9800328d20b
15+
Zip: e34513299ac38c0686d5b24504da7ce343799ab9
1616

17-
PODFILE CHECKSUM: f02a613149cfa2aac7ce3d85b2697906507f0bdc
17+
PODFILE CHECKSUM: 5bd0431d5defabdebe7eb53b98be8edf3f33d422
1818

19-
COCOAPODS: 1.2.0.rc.1
19+
COCOAPODS: 1.2.1

Example/Pods/Local Podspecs/iOSDFULibrary.podspec.json

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/Pods/Manifest.lock

+7-7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/Pods/Pods.xcodeproj/project.pbxproj

+310-260
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/Pods/Target Support Files/Pods-iOSDFULibrary_Example/Pods-iOSDFULibrary_Example-resources.sh

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/Pods/Target Support Files/Pods-iOSDFULibrary_Example/Pods-iOSDFULibrary_Example.debug.xcconfig

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/Pods/Target Support Files/Pods-iOSDFULibrary_Example/Pods-iOSDFULibrary_Example.release.xcconfig

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/Pods/Target Support Files/Pods-iOSDFULibrary_Tests/Pods-iOSDFULibrary_Tests-resources.sh

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/Pods/Target Support Files/Pods-iOSDFULibrary_Tests/Pods-iOSDFULibrary_Tests.debug.xcconfig

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/Pods/Target Support Files/Pods-iOSDFULibrary_Tests/Pods-iOSDFULibrary_Tests.release.xcconfig

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/Pods/Target Support Files/Zip/Info.plist

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/Pods/Target Support Files/iOSDFULibrary/Info.plist

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/Pods/Zip/README.md

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/Pods/Zip/Zip/Zip.swift

+16
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/iOSDFULibrary.xcodeproj/project.pbxproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@
341341
);
342342
runOnlyForDeploymentPostprocessing = 0;
343343
shellPath = /bin/sh;
344-
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
344+
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
345345
showEnvVarsInLog = 0;
346346
};
347347
786D98E25CF323742693B9E2 /* [CP] Check Pods Manifest.lock */ = {
@@ -356,7 +356,7 @@
356356
);
357357
runOnlyForDeploymentPostprocessing = 0;
358358
shellPath = /bin/sh;
359-
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
359+
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
360360
showEnvVarsInLog = 0;
361361
};
362362
8CC9A5FC22615A4B5C894693 /* [CP] Embed Pods Frameworks */ = {

Example/iOSDFULibrary/Info.plist

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
<key>CFBundlePackageType</key>
1616
<string>APPL</string>
1717
<key>CFBundleShortVersionString</key>
18-
<string>3.0.6</string>
18+
<string>3.1.0</string>
1919
<key>CFBundleSignature</key>
2020
<string>????</string>
2121
<key>CFBundleVersion</key>
22-
<string>35</string>
22+
<string>36</string>
2323
<key>LSRequiresIPhoneOS</key>
2424
<true/>
2525
<key>UILaunchStoryboardName</key>
Binary file not shown.

changelog

+16-9
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
### Changelog
2+
3+
- **3.1.0**:
4+
- Workaround: minor fix to circumvent an issue with SDK 6.1 when the link is lost during firmware upload resulting in an operation failed error (Code 6)
5+
- Enhancement: Minor code refactor for Data struct manipulation
6+
27
- **3.0.6**:
38
- Bugfix: Fixed issue that was introduced in 3.0.5 causing Zip framework not to be built, this patch shares the Zip scheme, allowing both frameworks to be built by carthage
9+
410
- **3.0.5**:
511
- Bugfix: Removed Cartfile since it caused conflicts for users building using Carthage, Zip is already bundled via Cocoapods and no further installation is necessary
12+
613
- **3.0.4**:
714
- Feature: restart() method restored in DFUServiceController
815
- Bugfix: Fixed error reporting when Buttonless jump fails
@@ -84,32 +91,32 @@
8491
- Feature: Reverted bugfix in **0.1.16** that disabled extended error feature
8592

8693
- **0.1.18**:
87-
- Feature: Implemented new response code `operation_not_permitted`
94+
- Feature: Implemented new response code `operation_not_permitted`
8895

8996
- **0.1.17**:
90-
- Bugfix: iOS10 bug fix that caused the dfu process not to initialize
97+
- Bugfix: iOS10 bug fix that caused the dfu process not to initialize
9198

9299
- **0.1.16**:
93-
- Bugfix: Added earlier Secure DFU Signature mismatch handling without Extended error feature for backwards compatibility
100+
- Bugfix: Added earlier Secure DFU Signature mismatch handling without Extended error feature for backwards compatibility
94101

95102
- **0.1.15**:
96-
- Added more verbose logging for debug purposes
103+
- Added more verbose logging for debug purposes
97104

98105
- **0.1.14**:
99-
- Feature: On DFU interruption, the next attempt always showed an peripheral in invalid state error, this is now bypassed by sending a reset command and reconnecting automaticaly, the handler will attempt to do that 3 times before throwing the appropriate error
106+
- Feature: On DFU interruption, the next attempt always showed an peripheral in invalid state error, this is now bypassed by sending a reset command and reconnecting automaticaly, the handler will attempt to do that 3 times before throwing the appropriate error
100107

101108
- **0.1.13**:
102-
- BugFix: @objc attributes where missing from LogLevel Enum and LoggerDelegate protocol, making thenm unavailable to Obj-C code
109+
- BugFix: @objc attributes where missing from LogLevel Enum and LoggerDelegate protocol, making thenm unavailable to Obj-C code
103110

104111
- **0.1.12**:
105-
- BugFix: some secure DFU error codes where conflicting with Legacy DFU error codes, causing random misbehavior
112+
- BugFix: some secure DFU error codes where conflicting with Legacy DFU error codes, causing random misbehavior
106113

107114
- **0.1.11**:
108-
- BugFix: Fixed a bug causing DFU process to randomly halt and send impty packets to the peripheral, due to a race condition
115+
- BugFix: Fixed a bug causing DFU process to randomly halt and send impty packets to the peripheral, due to a race condition
109116
- Feature: Removed one of the dependencies (EVReflection) in an appempt to make the library self contained
110117

111118
- **0.1.10**:
112-
- Added Signature mismatch handling and better logging
119+
- Added Signature mismatch handling and better logging
113120
- Bugfix: iOS10 bug that caused dfu process not to start
114121

115122
- **0.1.9**:

iOSDFULibrary.podspec

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
Pod::Spec.new do |s|
1010
s.name = "iOSDFULibrary"
11-
s.version = "3.0.6"
11+
s.version = "3.1.0"
1212
s.summary = "This repository contains a tested library for iOS 8+ devices to perform Device Firmware Update on the nRF5x devices"
1313
s.description = <<-DESC
1414
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.
@@ -25,5 +25,5 @@ The nRF5x Series chips are flash-based SoCs, and as such they represent the most
2525

2626
s.source_files = 'iOSDFULibrary/Classes/**/*'
2727

28-
s.dependency 'Zip', '~> 0.6'
28+
s.dependency 'Zip', '~> 0.7'
2929
end

iOSDFULibrary/Classes/Implementation/DFUServiceDelegate.swift

+6-1
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,16 @@
4141
case remoteSecureDFUOperationFailed = 20 // 10 + 10
4242
case remoteSecureDFUExtendedError = 21 // 10 + 11
4343

44-
// Experimental DFU errors (received value + 9000 as they overlap legacy errors)
44+
// Experimental Buttonless DFU errors (received value + 9000 as they overlap legacy and secure DFU errors)
4545
case remoteExperimentalBootlonlessDFUSuccess = 9001 // 9000 + 1
4646
case remoteExperimentalBootlonlessDFUOpCodeNotSupported = 9002 // 9000 + 2
4747
case remoteExperimentalBootlonlessDFUOperationFailed = 9004 // 9000 + 4
4848

49+
// Buttonless DFU errors (received value + 9000 as they overlap legacy and secure DFU errors)
50+
case remoteBootlonlessDFUSuccess = 31 // 30 + 1
51+
case remoteBootlonlessDFUOpCodeNotSupported = 32 // 30 + 2
52+
case remoteBootlonlessDFUOperationFailed = 34 // 30 + 4
53+
4954
/// Providing the DFUFirmware is required.
5055
case fileNotSpecified = 101
5156
/// Given firmware file is not supported.

0 commit comments

Comments
 (0)