iOS API Reference
API reference for the Azeoo SDK on iOS. The current flow is AzeooSDK.initialize(...) then sdk.connectUser(token:gender:height:weight:completion:); see iOS Quick Start and SDK API.
AzeooSDK
Single entry point. AzeooSDK.initialize(apiKey, config?, theme?, deepLinks?, safeArea?, completion) initializes the SDK and returns the instance via completion. Then call sdk.connectUser(token:gender:height:weight:completion:) to attach a user. Access user, theme, navigation, and modules after connectUser.
AzeooClient (legacy reference)
apiKey: String- The API key used for initializationsubscriptions: [String]- List of active subscriptionsisAuthenticated: Bool- Authentication status
Methods
func validateApiKey(completion: @escaping (Result<Bool, Error>) -> Void)
Validates the API key with the server.
AzeooUser (profile via sdk.user)
User profile operations. Access it from sdk.user after AzeooSDK.connectUser.
Read profile / identity
func getProfile(completion: @escaping (Result<AzeooUserProfile?, Error>) -> Void)
func getId(completion: @escaping (Result<String?, Error>) -> Void)
func getName(completion: @escaping (Result<String?, Error>) -> Void)
func getEmail(completion: @escaping (Result<String?, Error>) -> Void)
func getGender(completion: @escaping (Result<String?, Error>) -> Void)
func getBirthDateTimestamp(completion: @escaping (Result<Int64?, Error>) -> Void)
func getHeight(completion: @escaping (Result<Double?, Error>) -> Void)
func getWeight(completion: @escaping (Result<Double?, Error>) -> Void)
Update profile
func updateProfile(data: [String: Any], completion: @escaping (Result<AzeooUserProfile, Error>) -> Void)
func refreshProfile(completion: @escaping (Result<AzeooUserProfile, Error>) -> Void)
Upload image
func uploadImage(imageData: Data, completion: @escaping (Result<String, Error>) -> Void)
AzeooModules (public) / AzeooUI (legacy)
Navigation and UI module (nutrition). Access via sdk.modules.
Initialization (legacy)
static func initialize(
client: AzeooClient,
config: Config,
completion: @escaping (Result<Void, Error>) -> Void
)
Instance Access (legacy)
static var instance: AzeooUI? { get }
Nutrition Module (sdk.modules.nutrition)
func getViewController(bottomSafeArea: Bool = true) -> UIViewController
func getView(bottomSafeArea: Bool = true) -> some View
func display(bottomSafeArea: Bool = true, completion: @escaping (Result<Void, Error>) -> Void = { _ in })
Navigation (all accept a completion callback):
func showDiary(date: Int64? = nil, completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showPlans(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showPlan(planId: String, completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showRecipes(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showRecipe(recipeId: Int64, recipeName: String? = nil, completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showScanner(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showMobileScanner(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showSearch(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showCart(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showAddSelection(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showAddFood(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showAddMeal(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
func showHome(completion: @escaping (Result<Void, Error>) -> Void = { _ in })
Theme Management
Use sdk.theme after initialization (and connectUser if you rely on user-specific theming):
// Theme mode
func setLightMode(completion: @escaping (Result<Void, Error>) -> Void)
func setDarkMode(completion: @escaping (Result<Void, Error>) -> Void)
func setSystemMode(completion: @escaping (Result<Void, Error>) -> Void)
func toggleMode(completion: @escaping (Result<Void, Error>) -> Void)
// Colors
func setPrimaryColor(_ color: Int64, completion: @escaping (Result<Void, Error>) -> Void)
func setSecondaryColor(_ color: Int64, completion: @escaping (Result<Void, Error>) -> Void)
func setTheme(_ theme: AzeooThemeConfig, completion: @escaping (Result<Void, Error>) -> Void)
Reset
sdk.disconnect { result in
// result: .success(()) or .failure(Error)
}
sdk.dispose()
Configuration (native)
AzeooSDK.initialize(
apiKey: String,
config: AzeooConfig? = nil,
theme: AzeooThemeConfig? = nil,
deepLinks: AzeooDeepLinkConfig? = nil,
safeArea: AzeooSafeAreaConfig? = nil,
completion: @escaping (Result<AzeooSDK, Error>) -> Void
)
Error Handling
In iOS, native calls (including AzeooSDK.initialize, connectUser, and module display/navigation methods) return errors via the completion Result:
completion(.failure(error))
Next Steps
- iOS Documentation - Platform overview
- Examples - Code examples
- Configuration - Configuration guide