diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 3538c1b7..72627d73 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - iOSDFULibrary (3.0.5): + - iOSDFULibrary (3.0.6): - Zip (~> 0.6) - Zip (0.6.0) @@ -11,7 +11,7 @@ EXTERNAL SOURCES: :path: ../ SPEC CHECKSUMS: - iOSDFULibrary: 28bc7eec21bb2cf50d048556391ceb6724aaee12 + iOSDFULibrary: e01a7129eef7be58acffff284da0630e6b8759fb Zip: 805fc2fa9d2f05bbb7762d982d7a42ccdcc51f42 PODFILE CHECKSUM: f02a613149cfa2aac7ce3d85b2697906507f0bdc diff --git a/Example/Pods/Local Podspecs/iOSDFULibrary.podspec.json b/Example/Pods/Local Podspecs/iOSDFULibrary.podspec.json index 8e1cad95..6c908449 100644 --- a/Example/Pods/Local Podspecs/iOSDFULibrary.podspec.json +++ b/Example/Pods/Local Podspecs/iOSDFULibrary.podspec.json @@ -1,6 +1,6 @@ { "name": "iOSDFULibrary", - "version": "3.0.5", + "version": "3.0.6", "summary": "This repository contains a tested library for iOS 8+ devices 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-Pods-DFU-Library", @@ -11,7 +11,7 @@ }, "source": { "git": "https://github.com/NordicSemiconductor/IOS-Pods-DFU-Library.git", - "tag": "3.0.5" + "tag": "3.0.6" }, "social_media_url": "https://twitter.com/nordictweets", "platforms": { diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 3538c1b7..72627d73 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,5 +1,5 @@ PODS: - - iOSDFULibrary (3.0.5): + - iOSDFULibrary (3.0.6): - Zip (~> 0.6) - Zip (0.6.0) @@ -11,7 +11,7 @@ EXTERNAL SOURCES: :path: ../ SPEC CHECKSUMS: - iOSDFULibrary: 28bc7eec21bb2cf50d048556391ceb6724aaee12 + iOSDFULibrary: e01a7129eef7be58acffff284da0630e6b8759fb Zip: 805fc2fa9d2f05bbb7762d982d7a42ccdcc51f42 PODFILE CHECKSUM: f02a613149cfa2aac7ce3d85b2697906507f0bdc diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index a266da08..29218dbd 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -930,6 +930,7 @@ ONLY_ACTIVE_ARCH = YES; PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; STRIP_INSTALLED_PRODUCT = NO; + SWIFT_VERSION = 3.0; SYMROOT = "${SRCROOT}/../build"; }; name = Debug; @@ -1069,6 +1070,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.0; PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; STRIP_INSTALLED_PRODUCT = NO; + SWIFT_VERSION = 3.0; SYMROOT = "${SRCROOT}/../build"; VALIDATE_PRODUCT = YES; }; diff --git a/Example/Pods/Target Support Files/iOSDFULibrary/Info.plist b/Example/Pods/Target Support Files/iOSDFULibrary/Info.plist index d7336c4e..e822e160 100644 --- a/Example/Pods/Target Support Files/iOSDFULibrary/Info.plist +++ b/Example/Pods/Target Support Files/iOSDFULibrary/Info.plist @@ -2,25 +2,25 @@ - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 3.0.6 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 3.0.6 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + diff --git a/README.md b/README.md index 0bf3e78d..659003f3 100644 --- a/README.md +++ b/README.md @@ -5,31 +5,43 @@ ## Installation -**For Cocoapods:** - - Create/Update your **Podfile** with the following contents +**For Cocoapods(Swift):** ***Using Obj-C?*** [Use these instructions instead](README_OBJC.md) - target 'YourAppTargetName' do - use_frameworks! - pod 'iOSDFULibrary' - end +- Create/Update your **Podfile** with the following contents - - Install dependencies + ``` + target 'YourAppTargetName' do + use_frameworks! + pod 'iOSDFULibrary' + end + ``` - pod install +- Install dependencies + + ``` + pod install + ``` + +- Open the newly created `.xcworkspace` + +- Import the library to any of your classes by using `import iOSDFULibrary` and begin working on your project - - Open the newly created `.xcworkspace` and begin working on your project. **For Carthage:** - - Create a new **Cartfile** in your project's root with the following contents +- Create a new **Cartfile** in your project's root with the following contents - github "NordicSemiconductor/IOS-Pods-DFU-Library" ~> x.y //Replace x.y with your required version + ``` + github "NordicSemiconductor/IOS-Pods-DFU-Library" ~> x.y //Replace x.y with your required version + ``` - - Build with carthage +- Build with carthage - carthage update --platform iOS //also OSX platform is available for macOS builds + ``` + carthage update --platform iOS //also OSX platform is available for macOS builds + ``` - - Carthage will build the **iOSDFULibrary.framework** and **Zip.framework** files in **Carthag/Build/**, you may now copy all those files to your project and use the library, additionally, carthade also builds **\*.dsym** files if you need to resymbolicate crash logs. you may want to keep those files bundled with your builds for future use. +- Carthage will build the **iOSDFULibrary.framework** and **Zip.framework** files in **Carthag/Build/**, you may now copy all those files to your project and use the library, additionally, carthade also builds **\*.dsym** files if you need to resymbolicate crash logs. you may want to keep those files bundled with your builds for future use. --- @@ -87,8 +99,8 @@ The library is compatible with nRF51 and nRF52 devices with S-Series Soft Device * **SDK 7.0.0** - The extended init packet is required. The init packet contains additional validation information: device type and revision, application version, compatible Soft Devices and the firmware CRC. * **SDK 8.0.0** - The bond information may be preserved after an application update. The new application, when first started, will send the Service Change indication to the phone to refresh the services. New features: - - Buttonless update support for bonded devices - - sharing the LTK between an app and the bootloader. +- Buttonless update support for bonded devices +- sharing the LTK between an app and the bootloader. #### Secure DFU diff --git a/README_OBJC.md b/README_OBJC.md new file mode 100644 index 00000000..54c428f8 --- /dev/null +++ b/README_OBJC.md @@ -0,0 +1,29 @@ +# iOS DFU Library + +[![Version](http://img.shields.io/cocoapods/v/iOSDFULibrary.svg)](http://cocoapods.org/pods/iOSDFULibrary) + +## Installation instructions for Obj-C projects + +**Using Cocoapods:** + +- Create/Update your **Podfile** with the following contents +``` +target 'YourAppTargetName' do +use_frameworks! +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 3, choose **Later**. (The codebase is Swift 3 already) +- Click on the `Pods` project, then go to the `Build Settings` +- Click on the `iOSDFULibrary` target, then set the `Use Legacy Swift version` setting to `No` +- Repeat the same for the `Zip` target. +- Build the project, it should now succeed. +- Import the library to any of your obj-c classes by using `@import iOSDFULibrary;` and begin working on your project. + + +Currently, the only tested and supported method for Obj-C projects is using Cocoapods.