Skip to main content
Esta página corresponde ao SDK 2.0.0. Autenticação: Autenticação e licença. Enums de maquiagem / remodelagem: Enums de parâmetros.

Adicionar a dependência do SDK

Método A: CocoaPods (recomendado)

Erro de compilação no Xcode 15+Se você usa Xcode 15 ou posterior, pode encontrar o erro Sandbox: rsync.samba deny(1). Isso é causado pelo User Script Sandboxing.Solução:
  1. Selecione o Project no Xcode.
  2. Abra Build Settings.
  3. Pesquise ENABLE_USER_SCRIPT_SANDBOXING.
  4. Altere o valor de Yes para No.

Método B: Framework manual

Baixe o SDK em Downloads, copie Facebetter.framework para o projeto e incorpore a biblioteca dinâmica com Embed & Sign.
Vincular biblioteca no Xcode

Permissões

Adicione a permissão de câmera no Info.plist somente se o app capturar da câmera:

Import

Configuração de log

O logging vem desligado por padrão. Chame setLogConfig: antes de criar o mecanismo.

Criar o mecanismo

Vincule o Bundle ID do iOS e, em seguida, passe licenseToken ou appId + appKey. Veja Obter AppID e AppKey e Autenticação e licença. Prioridade: se licenseToken não estiver vazio (string do token de licença, JSON {token} ou conteúdo de .lic), o SDK o valida localmente. Caso contrário, usa appId + appKey contra /facebetter/v2/auth.
createEngineWithConfig: retorna uma instância, não um singleton.

Beleza da pele

A intensidade costuma ser [0.0, 1.0]. Enums de estilo: Enums de parâmetros.

Somente pele

Quando ativado, suavização / clareamento / tom rosado se aplicam apenas à pele detectada.

Remodelagem facial

A faixa de setReshape:intensity: é [-1.0, 1.0]. 0 desliga. Parâmetros: FBReshape_FaceThinFBReshape_BrowThickness (025). Significados: Enums de parâmetros.

Remodelagem corporal

A faixa de setBodyReshape:intensity: é [0.0, 1.0]. 0 desliga. Registre resource_body.fbd com addResourcePack: primeiro. Parâmetros: FBBodyReshape_BodySlimFBBodyReshape_TorsoLong (08). Veja Enums de parâmetros e Pacotes de recursos opcionais.

Maquiagem

Intensidade, formato e cor são chamadas separadas. Predefinições completas: Enums de parâmetros.

Fundo virtual

A segmentação de retrato é a máscara padrão. O nível de desfoque é [0.0, 1.0]; 0 limpa o desfoque. O caminho da imagem precisa ser um png/jpg não vazio.

Chroma key

O chroma key substitui apenas a máscara. O preenchimento continua sendo desfoque ou a imagem de substituição.

Filtros e adesivos

Passe um caminho de arquivo .fbd ou bytes em memória. As alterações passam a valer no próximo processImage:.
Adesivos 3D precisam do pacote opcional resource_3d.fbd (não está no framework). Veja Pacotes de recursos opcionais:

Callbacks e estatísticas

Processar imagens

FBImageFrame suporta I420, NV12, NV21, RGB, RGBA, BGR, BGRA, arquivo, textura e UIImage.
Defina type e, em seguida, chame processImage: (sem argumento extra de modo). A saída mantém o formato de entrada.
FBFrameTypeVideo é para streams ao vivo; FBFrameTypeImage é para stills.
Rotacionar / espelhar / converter / salvar:
Planos YUV: dataY, dataU, dataV, dataUV e strideY / strideU / strideV / strideUV.

Textura externa

Crie o mecanismo no thread OpenGL ES e defina externalContext = YES. As texturas de entrada e saída precisam compartilhar esse contexto.
Parâmetros de textura recomendados: GL_LINEAR, GL_CLAMP_TO_EDGE. O mecanismo não exclui sua textura de entrada. As texturas de saída pertencem ao SDK. Para TRTC / Agora / LiveKit: Integração com terceiros.

Ciclo de vida

Mantenha uma referência strong durante a sessão. Atribua nil ao mecanismo quando o view controller desaparecer. Pause a sessão de captura ao sair da tela para parar de chamar processImage:.

Relacionado