Esta página corresponde al SDK 2.0.0. Autenticación: Autenticación y licencia. Enumeraciones de maquillaje / remodelado: Enumeraciones de parámetros.
Añadir la dependencia del SDK
Método A: CocoaPods (recomendado)
Método B: Framework manual
Descarga el SDK desde Descargas, copiaFacebetter.framework al proyecto y incrusta la biblioteca dinámica con Embed & Sign.

Permisos
Añade el permiso de cámara enInfo.plist solo si la app captura desde la cámara:
Importar
Configuración de logs
El logging está desactivado por defecto. Llama asetLogConfig: antes de crear el motor.
Crear el motor
Vincula el Bundle ID de iOS y luego pasalicenseToken o appId + appKey. Consulta Obtener AppID y AppKey y Autenticación y licencia.
Prioridad: si licenseToken no está vacío (cadena del token de licencia, JSON {token} o contenido de .lic), el SDK lo valida en local. En caso contrario usa appId + appKey contra /facebetter/v2/auth.
createEngineWithConfig: devuelve una instancia, no un singleton.
Belleza de piel
La intensidad suele ser[0.0, 1.0]. Enumeraciones de estilo: Enumeraciones de parámetros.
Solo piel
Cuando está activado, suavizado / blanqueamiento / rubor se aplican solo a la piel detectada.Remodelado facial
El rango desetReshape:intensity: es [-1.0, 1.0]. 0 desactiva. Parámetros: FBReshape_FaceThin … FBReshape_BrowThickness (0–25). Significados: Enumeraciones de parámetros.
Remodelado corporal
El rango desetBodyReshape:intensity: es [0.0, 1.0]. 0 desactiva. Registra resource_body.fbd con addResourcePack: primero. Parámetros: FBBodyReshape_BodySlim … FBBodyReshape_TorsoLong (0–8). Consulta Enumeraciones de parámetros y Paquetes de recursos opcionales.
Maquillaje
Intensidad, forma y color son llamadas separadas. Estilos completos: Enumeraciones de parámetros.Fondo virtual
La máscara predeterminada es segmentación de retrato. Intensidad de desenfoque[0.0, 1.0]; 0 borra el desenfoque. La ruta de imagen debe ser un png/jpg no vacío.
Croma
El croma solo sustituye la máscara. El relleno sigue siendo desenfoque o imagen de reemplazo.Filtros y stickers
Pasa una ruta de archivo.fbd o bytes en memoria.
resource_3d.fbd (no está en el framework). Consulta Paquetes de recursos opcionales:
Callbacks y estadísticas
Procesar imágenes
FBImageFrame admite I420, NV12, NV21, RGB, RGBA, BGR, BGRA, archivo, textura y UIImage.
type y luego llama a processImage: (no hay un argumento de modo extra). El formato de salida coincide con el de entrada.
dataY, dataU, dataV, dataUV y strideY / strideU / strideV / strideUV.
Textura externa
GL_LINEAR, GL_CLAMP_TO_EDGE. El motor no elimina tu textura de entrada. La textura de salida la posee el SDK.
Para TRTC / Agora / LiveKit: Integración con terceros.
Ciclo de vida
Mantén el motor con una referencia strong durante la sesión. Ponlo anil cuando se destruya el ViewController. Al salir de la página, detén la captura para dejar de llamar a processImage:.

