iOS 설정 가이드

이 페이지에서는 iOS 애플리케이션에서 MediaPipe 태스크를 사용하도록 개발 환경을 설정하는 방법을 설명합니다.

지원되는 기기 및 플랫폼

MediaPipe 태스크로 iOS 애플리케이션을 만들려면 개발 환경에 다음이 필요합니다.

  • macOS Mojave 10.14.3 이상

  • Xcode 10.3 이상

  • iOS 12.0 이상을 실행하는 iOS 기기 또는 iOS 시뮬레이터에서 기기 카메라가 필요하지 않은 애플리케이션을 처리할 수 있습니다.

개발자 환경 설정

iOS 애플리케이션에서 MediaPipe 작업을 실행하기 전에 기존 Xcode 프로젝트가 있거나 로컬 머신에 새 Xcode 프로젝트를 만들어야 합니다.

MediaPipe 작업은 CocoaPods를 사용해서만 설치할 수 있습니다. 시작하기 전에 CocoaPods 1.12.1 이상을 설치해야 합니다. macOS에 CocoaPods를 설치하는 방법에 관한 안내는 CocoaPods 설치 가이드를 참고하세요.

코드 설정 예시

MediaPipe 예시 저장소에는 MediaPipe 태스크용 iOS 애플리케이션 예가 포함되어 있습니다.

예시 코드에서 프로젝트를 만들고 프로젝트를 빌드하고 태스크를 실행할 수 있습니다. 다음 단계에서는 Text Classifier 작업을 빌드합니다.

예시 코드 프로젝트를 가져오고 빌드하는 방법은 다음과 같습니다.

  1. 터미널을 열고 MediaPipe 예시 저장소를 클론한 후 TextClassifier.xcodeprojPodfile가 포함된 디렉터리로 이동합니다.

    git clone https://github.com/google-ai-edge/mediapipe-samples
    cd mediapipe/examples/text_classification/ios
    
  2. CocoaPods를 사용하여 MediaPipe 태스크를 설치합니다.

    pod install
    

    이 명령어는 예시 프로젝트 디렉터리에 TextClassifier.xcworkspace 파일을 생성합니다.

  3. TextClassifier.xcworkspace 파일을 더블클릭하여 Xcode에서 프로젝트를 엽니다. TextClassifier.xcodeproj 파일이 이미 열려 있으면 TextClassifier.xcworkspace 파일을 열기 전에 닫습니다.

  4. TextClassifier 스키마를 선택하고 프로젝트 창의 툴바에서 실제 iOS 기기 또는 시뮬레이터를 선택합니다. 실제 iOS 기기를 사용할 때는 기기가 Mac에 연결되어 있는지 확인하세요.

  5. 프로젝트 툴바에서 Run 버튼을 클릭합니다.

Xcode에서 앱을 실행하는 방법에 대한 자세한 내용은 앱 빌드 및 실행을 참조하세요.

MediaPipe 태스크 종속 항목

MediaPipe 태스크는 비전과 텍스트를 위해 사전 빌드된 라이브러리 두 개를 제공합니다. .tflite 모델 파일은 모델을 사용하는 iOS 애플리케이션의 번들에 있어야 합니다. MediaPipe Tas에 따라 CocoaPods Podfile 내 포드 목록에 비전 또는 텍스트 라이브러리를 추가합니다. 앱에 필요한 포드로 Podfile를 만드는 방법은 CocoaPods 사용을 참조하세요.

생성형 AI 작업

MediaPipe 태스크 생성형 AI 라이브러리에는 이미지 또는 텍스트 생성을 처리하는 태스크가 포함되어 있습니다. MediaPipe Tasks 생성형 AI 라이브러리를 설치하려면 MediaPipeTasksGenAIMediaPipeTasksGenAIC 포드를 Podfile에서 앱의 대상에 추가합니다.

LLM 추론 API

MediaPipe LLM 추론 태스크는 MediaPipeTasksGenAIMediaPipeTasksGenAIC 포드 내에 포함되어 있습니다.

target 'MyLlmInferenceApp' do
  use_frameworks!
  pod 'MediaPipeTasksGenAI'
  pod 'MediaPipeTasksGenAIC'
end

비전 작업

MediaPipe 태스크 비전 라이브러리에는 이미지 또는 동영상 입력을 처리하는 태스크가 포함되어 있습니다. MediaPipe 태스크 비전 라이브러리를 설치하려면 Podfile에서 앱의 타겟에 MediaPipeTasksVision 포드를 추가합니다.

target 'MyAppWithMediaPipeTasksVision' do
  use_frameworks!
  pod 'MediaPipeTasksVision'
end

텍스트 작업

MediaPipe 태스크 텍스트 라이브러리에는 언어 데이터를 텍스트 형식으로 처리하는 태스크가 포함되어 있습니다. MediaPipe Tasks 텍스트 라이브러리를 설치하려면 MediaPipeTasksText 포드를 Podfile에서 앱의 타겟에 추가합니다.

target 'MyAppWithMediaPipeTasksText' do
  use_frameworks!
  pod 'MediaPipeTasksText'
end

테스트 대상 구성

앱에 테스트 타겟이 있는 경우 MediaPipe 작업 라이브러리를 사용할 때 바람직하지 않은 동작을 방지하려면 Podfile이 다음 구현 중 하나를 준수하는지 확인하세요.

가장 간단한 구현은 테스트 타겟이 MediaPipe 작업 포드를 추가하는 기본 앱 타겟 내에 중첩되지 않도록 하는 것입니다.

target 'MyAppWithMediaPipeTasks' do
  pod 'MediaPipeTasksVision'
end

target 'MyAppWithMediaPipeTasksTests' do

end

테스트 타겟이 기본 앱 타겟 내에 중첩되어야 하는 경우 Podfile은 다음 구현을 준수해야 합니다.

target 'MyAppWithMediaPipeTasks' do
  pod 'MediaPipeTasksVision'

    target 'MyAppWithMediaPipeTasksTests' do
      inherit! :none

    end
end

BaseOptions 구성

BaseOptions는 MediaPipe Task API의 일반 구성을 허용합니다.

옵션 이름 설명 허용되는 값
modelAssetPath iOS 애플리케이션 번들에 있는 모델 파일의 모델 경로입니다. 문자열로 된 경로입니다.

하드웨어 가속

iOS에서 MediaPipe 태스크는 표준 CPU 프로세서에서 모델 실행만 지원합니다.

문제 해결

MediaPipe와 관련된 기술 질문이 있으면 토론방 또는 Stack Overflow를 방문하여 커뮤니티의 지원을 받으세요. 버그를 신고하거나 기능을 요청하려면 GitHub에서 문제를 신고하세요.

iOS 개발 환경 설정에 관한 도움말은 Apple 개발자 문서를 참고하세요.