Releases: eSimplified/esimplified-ios-sdk
Releases · eSimplified/esimplified-ios-sdk
1.0.3 — Privacy Manifest + CI
Patch release adding Apple's required Privacy Manifest for SDKs.
What's new
- PrivacyInfo.xcprivacy — declares the SDK's data collection practices to Apple. Required for SDKs distributed to apps that ship on the App Store since May 2024. Without this file, consuming apps see warnings during App Store Connect submission.
- Tracking: false
- Tracking domains: none
- Required-reason API usage: none (token storage uses Keychain, not UserDefaults)
- Collected data types: email address, name, phone number, user ID, purchase history, coarse location — all for App Functionality, all linked to the user, none used for tracking
- GitHub Actions CI — runs
swift build+swift teston every push to main and on every pull request.
Upgrade
.package(url: "https://github.com/eSimplified/esimplified-ios-sdk.git", from: "1.0.3")Apps using Up to Next Major Version from 1.0.x will pick this up automatically on next package update.
1.0.2 — Initial Public Release
First public release of the eSIMplified iOS SDK.
Install
Swift Package Manager (Xcode):
- File → Add Package Dependencies
- Enter:
https://github.com/eSimplified/esimplified-ios-sdk.git - Select Up to Next Major Version from
1.0.2
What's in this release
Repositories (13)
Auth, Countries, Packages, eSIMs, Orders, Payments, Promo Code, Loyalty (incl. Mokafaa OTP), User, Notification, Visa Rewards, Vouchers, Store Review.
Authentication
- OAuth2 token flow with automatic Bearer/Basic selection per endpoint
- Transparent 401/403 → refresh → retry pipeline
- Proactive refresh on tokens within 5-minute expiry buffer
- Concurrent-refresh protection via
isRefreshingactor flag SessionProvider+StorageProviderprotocols for app-defined persistenceonTokenRefreshedandonAuthenticationFailedcallbacks
Network layer
- Async/await throughout (Swift Concurrency)
- Configurable in-memory cache with per-method TTL overrides
- Structured error parsing (
ApiErrorResponsefor API endpoints,ServerErrorResponsefor/auth/token/) - Restrictive percent-encoding for auth bodies (correct OAuth2 handling of
@&=+/) customHeadersProviderfor app-injected headers (currency, language, App Check)
Test coverage
123 tests across 11 suites covering HTTPClient, cache, auth flow, all 12 repositories, and model decoding.
Requirements
- iOS 17.5+
- Swift 5.0+
- Xcode 16+
See README.md for full documentation, including a buy-eSIM recipe and SessionProvider integration.