Releases: aferodeveloper/AferoSwiftSDK
Update Softhub
Pull in Timezone and CryptoSwift changes (Replaces `1.4.1`)
What's Changed
- Remove force-unwrap on
DateTypes.Time.timeZone
, and instead returnTimezone.current
if it's not found - Unpin
CryptoSwift 1.4.0
in AferoLab, and fix an unwrap-of-nonoptional inAferoAPIClient+Account
ℹ️ This release replaces
1.4.1
, no longer published in the Podspec repo.
Pull in Timezone and CryptoSwift changes
NOTE
Due to a versioning issue in
1.4.1
, the published podspec has been removed. Leaving this tag and release here for posterity.Please use
1.4.2
instead.
What's Changed
Remove force-unwrap on DateTypes.Time.timeZone, and instead return Timezone.current if it's not found
Unpin CryptoSwift 1.4.0 in AferoLab, and fix an unwrap-of-nonoptional in AferoAPIClient+Account
Enables OAuth authentication handled outside afero SDK
- Adds ability to configure softhub with matching api host and authenticator cert
- Updates afero lab to handle both authentication flows.
HUB-1120: Move to AferoSofthub 1.6.7.
This release migrates to AferoSofthub 1.6.7
, which corrects raw values for AferoSofthubAssociationStatus
.
Prune AFNetworking Preqs
This release limits explicit AFNetworking
linking to AFNetworking/NSURLSession
(which implicitly pulls in .../Security
and .../Reachability
).
This resolves a reported issue (ACE-289
) of an App Store deprecated UI warning for use of UIWebView
:
"ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs . See https://developer.apple.com/documentation/uikit/uiwebview for more information."
Migrate to MIT Open Source / ARM Permissive Binary license.
AferoSwiftSDK is now available under the MIT license, and links against a softhub provided under the ARM mBed permissive binary license.
Migrate to MIT License, Link with Permissive Binary Softhub
AferoSwiftSDK is now available under the MIT license, and links against a softhub provided under the ARM mBed permissive binary license.
Sign In With External OAuth, createAccount header decoration
This release adds two minor features, and is backward compatible with 1.2.4
.
Sign In With External OAuth
AFNetworkAferoAPIClient
now supports externally-acquired OAuth2 tokens, via the following method:
/// Given an authToken, tokentTyp, and refreshToken, store, initialized the session manager,
/// and resolve.
///
/// - parameter oAuthToken: The token acquired from the Afero cloud.
/// - parameter tokenType: The type of the token. Defaults to "Bearer".
/// - parameter refreshToken: If available, the refresh token to store.
///
/// - returns: A Promise<Void> which resolves after storage is complete.
func signIn(oAuthToken: String, tokenType: String = "Bearer", refreshToken: String? = nil) -> Promise<Void>
Create Account Header Decoration
POST /v1/accounts
is now decorated with the x-afero-app
header, so that accounts are associated with the bundleId that created them. See CreateAccountViewController.swift
in the AferoLab example app for an implementation example.
Password Verification Email Resend
Account Verification Email Resend
Release 1.2.4 supports requesting resend of account verification emails. The user must be authenticated for verification email resend to succeed; it's supported via the resendVerificationToken(for credentialId: String, accountId: String, appId: String) -> Promise<Void>
method on APIClient
:
/// Resend a verification email/token for an account.
///
/// When a user creates an account, they are sent a verification token. If
/// this endpoint is called prior to the verification token being redeemed,
/// then a new token will be generated and sent.
///
/// - parameter credentialId: The credential identifier (email) to which the
/// verification email should be sent.
///
/// - parameter accountId: The accountId associated with the given email address.
///
/// - parameter appId: The id of the app for which the email should be sent
/// (e.g. bundleId).
func resendVerificationToken(for credentialId: String, accountId: String, appId: String) -> Promise<Void>
The AferoLab
app has been updated with example code exercising this feature.