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:
Em caso de erro de cache durante a integração SPM ("invalid archive returned from..."), feche o Xcode e execute:
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 MediQuoUSER_ID: CPF do paciente (somente números), conforme cadastrado na API ID MediQuo
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:
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:
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:):
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):
Tratamento de push recebido¶
Para abrir a tela correta ao tocar em uma notificação, processe o payload no UNUserNotificationCenterDelegate:
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:
<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¶
- SDK Overview: fluxo completo de integração
- Widget Web: integração para aplicações web
- Android SDK: integração para Android