Skip to main content
이 페이지는 SDK 2.0.0에 해당합니다. 인증: 인증 및 라이선스. 메이크업 / 리셰이프 열거형: 파라미터 열거형.

SDK 의존성 추가

방법 A: CocoaPods (권장)

Xcode 15+ 컴파일 오류Xcode 15 이상을 사용하면 Sandbox: rsync.samba deny(1) 오류가 발생할 수 있습니다. 원인은 User Script Sandboxing입니다.해결 방법:
  1. Xcode에서 Project를 선택합니다.
  2. Build Settings를 엽니다.
  3. ENABLE_USER_SCRIPT_SANDBOXING을 검색합니다.
  4. 값을 Yes에서 **No**로 변경합니다.

방법 B: 수동 프레임워크

다운로드에서 SDK를 받아 Facebetter.framework를 프로젝트에 복사하고, Embed & Sign으로 동적 라이브러리를 임베드합니다.
Xcode Link Library

권한

앱이 카메라에서 캡처할 때만 Info.plist에 카메라 권한을 추가하세요.

가져오기

로그 구성

로깅은 기본적으로 꺼져 있습니다. 엔진을 만들기 전에 setLogConfig:를 호출하세요.

엔진 생성

iOS Bundle ID를 바인딩한 뒤 licenseToken 또는 appId + appKey를 전달합니다. AppID 및 AppKey 받기인증 및 라이선스를 참고하세요. 우선순위: licenseToken이 비어 있지 않으면(라이선스 토큰 문자열, {token} JSON 또는 .lic 내용) SDK가 로컬에서 검증합니다. 그렇지 않으면 appId + appKey/facebetter/v2/auth를 사용합니다.
createEngineWithConfig:인스턴스를 반환하며 싱글톤이 아닙니다.

피부 뷰티

강도는 보통 [0.0, 1.0]입니다. 스타일 열거형: 파라미터 열거형.

피부만

활성화하면 스무딩 / 화이트닝 / 로지니스가 감지된 피부에만 적용됩니다.

얼굴 리셰이프

setReshape:intensity: 범위는 **[-1.0, 1.0]**입니다. 0은 꺼짐입니다. 파라미터: FBReshape_FaceThinFBReshape_BrowThickness(025). 의미: 파라미터 열거형.

바디 리셰이프

setBodyReshape:intensity: 범위는 **[0.0, 1.0]**입니다. 0은 꺼짐입니다. 먼저 addResourcePack:으로 resource_body.fbd를 등록하세요. 파라미터: FBBodyReshape_BodySlimFBBodyReshape_TorsoLong(08). 파라미터 열거형선택 리소스 팩을 참고하세요.

메이크업

강도, 형태, 색상은 별도 호출입니다. 전체 프리셋: 파라미터 열거형.

가상 배경

인물 세그멘테이션이 기본 마스크입니다. 블러 레벨은 [0.0, 1.0]이며 0은 블러를 지웁니다. 이미지 경로는 비어 있지 않은 png/jpg여야 합니다.

크로마키

크로마키는 마스크만 바꿉니다. 채우기는 여전히 블러 또는 대체 이미지입니다.

필터와 스티커

.fbd 파일 경로 또는 메모리 바이트를 전달합니다. 변경은 다음 processImage:에서 적용됩니다.
3D 스티커는 선택 resource_3d.fbd 팩이 필요합니다(프레임워크에 없음). 선택 리소스 팩을 참고하세요.

콜백과 통계

이미지 처리

FBImageFrame은 I420, NV12, NV21, RGB, RGBA, BGR, BGRA, 파일, 텍스처, UIImage를 지원합니다.
type을 설정한 뒤 processImage:를 호출합니다(추가 모드 인자는 없음). 출력은 입력 형식을 유지합니다.
FBFrameTypeVideo는 라이브 스트림용이고, FBFrameTypeImage는 정지 이미지용입니다.
회전 / 미러 / 변환 / 저장:
YUV 평면: dataY, dataU, dataV, dataUVstrideY / strideU / strideV / strideUV.

외부 텍스처

OpenGL ES 스레드에서 엔진을 만들고 externalContext = YES를 설정하세요. 입력과 출력 텍스처는 해당 컨텍스트를 공유해야 합니다.
권장 텍스처 파라미터: GL_LINEAR, GL_CLAMP_TO_EDGE. 엔진은 입력 텍스처를 삭제하지 않습니다. 출력 텍스처는 SDK가 소유합니다. TRTC / Agora / LiveKit: 서드파티 연동.

라이프사이클

세션 동안 strong 참조를 유지하세요. 뷰 컨트롤러가 사라지면 엔진을 nil로 둡니다. 화면을 떠날 때 캡처 세션을 일시 중지하여 processImage: 호출을 멈추세요.

관련 문서