The iOS SDK has gotten a big update with new features and fixes for many issues. Most notable is the addition of Encryption/Decryption, along with a refactor to allow for multiple gaia connections, better separate logic, prevent error states, and guard against crashes.
- This change log.
- Sign out functionality that allows clearing of SFAuthenticationSession browser storage. This allows users to use multiple accounts without having to reset the device/emulator. Also fixes an issue where users who get into a bad state during onboarding cannot recover.
EllipticJSclass which allows computing ECDH shared secret and getting a public key from private, on the secp256k1 curve.
Encryption.decryptECIESmethods which allow encryption/decryption of text or byte streams.
- Unit tests for Encryption via Quick/Nimble
- CircleCI integration for automated testing on all branches.
GaiaHubSessionhas been added to allow multiple gaia connections. The shared
Gaiaobject can hold numerous connections. It is not possible to create a
GaiaHubSessionobject without a valid gaia config, fixing some error states. This object handles getting from and putting to a Gaia hub.
- Swift 4.0 syntax.
- Removed secp256k1 pod. The functionality it was useful for is now covered by
- Class extensions are all now in “Extensions.swift”, reducing project size.
- Crash-proofing and refactoring of code around the project for simplicity and separation.
- The included example app is functional (showcases sign in and sign out, along with putting and getting a file). No longer requires you to deploy a web app.
Gaiais now responsible for connecting to and managing
GaiaHubSessions, along with saving and retrieving gaia configs, via static methods.