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.