iOS Initialize
iOS SDK: Initialize
Initialize the iOS Digital Card Engine UI SDK along with the underlying Ei Card Provider core SDK. Call DigitalCardEngine(token:) early in your app’s lifecycle—typically after your backend provides an auth token.
Prerequisites:
- Repositories and dependencies configured (see the iOS Setup guide).
- A runtime token issued by your backend.
What DigitalCardEngine(token:) does
- Configures the core SDK with your bearer token and selected environment.
- Bootstraps MeaWallet’s MCD library for secure card image rendering.
- Loads fonts and assets required by the microfrontends.
Basic initialization
import DigitalCardEngineSDK
import Combine
class CardService: CardServiceProtocol {
let sessionManager: SessionManagerProtocol
var sdk: DigitalCardEngine?
private var cancellables = Set<AnyCancellable>()
init(sessionManager: SessionManagerProtocol) {
self.sessionManager = sessionManager
sessionManager.token.sink { token in
if let tokenString = token {
self.sdk = DigitalCardEngine(token: tokenString)
} else {
self.sdk = nil
}
}
.store(in: &cancellables)
}
}Guidelines (quick checklist):
- Supply non-empty tokens (the SDK rejects blank/too-short values). Never commit secrets.
- Keep one shared
DigitalCardEngineinstance (application singleton/DI) and reuse it across screens. - Initialize the engine after you have the token (e.g., post-login).
- After init, you can immediately read or modify
sdk.styleConfigurationto theme UI components.
Environments
Use Environment.DEV, Environment.TEST, or Environment.PROD. The default for initialization is TEST. The core SDK resolves base URLs from the card_provider_sdk build config:
- DEV →
https://ei.dev.meawallet.app - TEST →
https://ei.tst.meawallet.app - PROD →
https://ei.prd.meawallet.app
Token refresh
When your backend issues a new token, update the already-initialized core SDK—no need to recreate DigitalCardEngineSDK:
import DigitalCardEngineSDK
// Called whenever you obtain a fresh token
func refreshToken(newToken: String) {
sdk.updateAuthToken(newToken)
}Troubleshooting
- "Auth token cannot be empty or blank": ensure you supply a runtime token string.
- "Auth token appears to be too short": token validation failed; fetch a real token from your backend.
- MCD errors during card image rendering usually indicate missing TOTP secrets, missing card selection, or corrupted MCD artifacts/config files.
Next steps: continue to the setup/install page to add repos + dependencies, then use the Card List / Card Details pages to render UI.
Updated 3 months ago
