Pular para conteúdo
Postman

iOS SDK

Guia de integração do SDK MediQuo para aplicações iOS nativas.

Importante: Cadastro de Pacientes

O cadastro de pacientes deve ser feito através da API ID MediQuo (nosso portal de gestão de licenças). O SDK é exclusivamente para integração frontend após o paciente já estar cadastrado.

Consulte: Pacientes - ID MediQuo


Pré-requisitos

Item Versão mínima
Xcode 26
iOS Deployment Target 17.0

Instalação

Swift Package Manager (recomendado)

No Xcode, vá em File → Add Package Dependencies e adicione o repositório:

Text Only
https://github.com/mediquo/mediquo-ios-sdk.git

Em caso de erro de cache durante a integração SPM ("invalid archive returned from..."), feche o Xcode e execute:

Bash
rm -rf $HOME/Library/Caches/org.swift.swiftpm/
rm -rf $HOME/Library/org.swift.swiftpm

XCFramework

Acesse a aba Releases do repositório, baixe o ZIP da versão mais recente e adicione o .xcframework ao seu projeto. Certifique-se de que ele está configurado como Embed & Sign no target da aplicação.


Inicialização

Inicialize o SDK após o login do usuário autenticado. Você precisará de:

  • API_KEY: fornecida pela MediQuo
  • USER_ID: CPF do paciente (somente números), conforme cadastrado na API ID MediQuo
Swift
Task {
    self.mediquo = try await MediQuo(apiKey: API_KEY, userID: USER_ID)
}

Recomenda-se instanciar um único objeto MediQuo por sessão de usuário autenticado e armazená-lo no AppDelegate ou no seu sistema de injeção de dependências.


Abrir a interface do SDK

Após inicialização, gere um UIViewController e apresente-o como preferir:

Swift
let vc = self.mediquo.sdkViewController(for: .professionalList)
self.present(vc, animated: true)

As views disponíveis estão definidas em MediQuo.ViewKind. Use o autocomplete do Xcode para explorar as opções.

O SDK suporta tanto apps UIKit (com AppDelegate e SceneDelegate) quanto SwiftUI (com @main e WindowGroup).


Logout

Para encerrar a sessão e limpar o estado interno do SDK:

Swift
try? await mediquo.deauthenticateSDK()

Chame este método ao fazer logout do usuário para evitar acesso não autorizado em sessões futuras.


Push Notifications

O SDK suporta pushes via APNS (nativo Apple) e via Firebase.

Permissão

Solicite explicitamente permissão ao usuário antes de registrar o token.

APNS

No AppDelegate, sobrescreva application(_:didRegisterForRemoteNotificationsWithDeviceToken:):

Swift
func application(_ application: UIApplication,
                 didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    try? await mediquo.setPushNotificationToken(type: .appleAPNS(deviceToken))
}

Firebase

Após obter o token do Firebase, registre-o no SDK (e sempre que ele for renovado):

Swift
try? await mediquo.setPushNotificationToken(type: .firebase(token))

Tratamento de push recebido

Para abrir a tela correta ao tocar em uma notificação, processe o payload no UNUserNotificationCenterDelegate:

Swift
func userNotificationCenter(_ center: UNUserNotificationCenter,
                             didReceive response: UNNotificationResponse,
                             withCompletionHandler completionHandler: @escaping () -> Void) {
    let userInfo = response.notification.request.content.userInfo as? [String: any Sendable]
    let vc = self.mediquo.getSDKViewController(forRemotePush: userInfo)
    self.rootViewController.present(vc, animated: true)
    completionHandler()
}

Permissões (Info.plist)

O SDK permite envio de áudios, imagens e arquivos. Adicione as seguintes chaves ao Info.plist com descrições adequadas:

XML
<key>NSMicrophoneUsageDescription</key>
<string>Necessário para envio de mensagens de voz</string>
<key>NSCameraUsageDescription</key>
<string>Necessário para envio de imagens</string>

Personalização

O SDK utiliza automaticamente o Accent Color do seu app (configurado em Assets) para customizar a identidade visual.


Próximos Passos