iOS의 MediaPipe 프레임워크

아래 안내에 따라 MediaPipe로 iOS 예시 앱을 빌드하세요. 프레임워크입니다. 이 예시 앱에 대해 자세히 알아보려면 먼저 Hello 월드! (iOS에서)

iOS 예시 앱 빌드

기본 요건

  1. 안내에 따라 Mediapipe 프레임워크를 설치합니다.

  2. Xcode를 설치한 다음 다음을 사용하는 명령줄 도구:

    xcode-select --install
    
  3. Bazelisk를 설치합니다.

    Homebrew를 사용하여 최신 버전을 다운로드하는 것이 좋습니다.

    brew install bazelisk
    
  4. Python 3.7을 기본 Python 버전으로 설정하고 Python 'six'를 설치합니다. 있습니다. TensorFlow에 필요합니다.

    pip3 install --user six
    
  5. MediaPipe 저장소를 클론합니다.

    git clone https://github.com/google/mediapipe.git
    

번들 ID 프리픽스 설정

모든 iOS 앱에는 번들 ID가 있어야 하며 프로비저닝 프로필이 있어야 합니다. 이 ID로 휴대전화에 앱을 설치할 수 있습니다. 충돌을 방지하는 방법 서로 다른 MediaPipe 사용자 간에 iOS 데모 앱의 번들 ID입니다.

커스텀 프로비저닝 프로필이 있는 경우 다음을 참조하세요. 아래의 커스텀 프로비저닝을 참고하세요.

그렇지 않으면 다음 명령어를 실행하여 고유한 프리픽스를 생성합니다.

python3 mediapipe/examples/ios/link_local_profiles.py

Xcode 프로젝트 만들기

이렇게 하면 Xcode에서 예시 앱 중 하나를 수정하고 디버그할 수 있습니다. 또한 자동 프로비저닝을 활용할 수 있습니다 (이후 섹션 참고).

  1. Tulsi라는 도구를 사용하여 Bazel 빌드 구성의 Xcode 프로젝트

    # cd out of the mediapipe directory, then:
    git clone https://github.com/bazelbuild/tulsi.git
    cd tulsi
    # remove Xcode version from Tulsi's .bazelrc (see http://github.com/bazelbuild/tulsi#building-and-installing):
    sed -i .orig '/xcode_version/d' .bazelrc
    # build and run Tulsi:
    sh build_and_run.sh
    

    이렇게 하면 Tulsi.app이(가) Google Cloud 프로젝트의 Applications 디렉터리 내에 설치됩니다. 홈 디렉터리입니다.

  2. Tulsi 앱을 사용하여 mediapipe/Mediapipe.tulsiproj를 엽니다.

  3. Configs(구성) 탭에서 MediaPipe 구성을 선택한 다음 Generate(생성)를 누릅니다. 버튼을 클릭합니다. Xcode 프로젝트를 저장할 위치를 묻는 메시지가 표시됩니다. 프로젝트가 생성되면 Xcode에서 열립니다.

    번들 ID에 대한 오류가 발생하면 다음을 참조하세요. 이전 섹션을 참조하세요.

프로비저닝 설정

iOS 기기에 애플리케이션을 설치하려면 프로비저닝 프로필이 필요합니다. 거기 다음 두 가지 옵션이 있습니다.

  1. 자동 프로비저닝. 이렇게 하면 앱에 앱을 빌드하고 개인 기기입니다. 프로비저닝 프로필은 Xcode로 관리되며 자주 업데이트됩니다 (약 1주일 동안 유효).

  2. 커스텀 프로비저닝 이렇게 하면 Apple 개발자 계정 이러한 프로필은 유효 기간이 더 길고 여러 기기를 타겟팅할 수 있지만 유료 개발자 계정이 필요하며 애플이 하나를 획득해야 해요.

자동 프로비저닝

  1. 설명한 대로 MediaPipe용 Xcode 프로젝트 만들기 초기

  2. 왼쪽 사이드바의 프로젝트 탐색기에서 'Mediapipe'를 선택합니다. 살펴보겠습니다

  3. 애플리케이션 타겟 중 하나를 선택합니다(예: HandTrackingGpuApp).

  4. 'Signing & 기능" 탭

  5. '자동으로 서명 관리'를 선택하고 대화상자를 확인합니다.

  6. '이름 (개인팀)'을 선택합니다. 확인할 수 있습니다.

  7. 이 설정은 설치하려는 각 애플리케이션에 대해 한 번씩 수행해야 합니다. 필요에 따라 3~6단계를 반복합니다.

이렇게 하면 선택한 각 앱에 대한 프로비저닝 프로필이 생성됩니다. 이제 여러분은 Bazel에게 사용하라고 알려야 합니다 Google에서는 이 과정을 쉽게 수행할 수 있도록 스크립트를 제공합니다.

  1. 터미널에서 다음을 클론한 mediapipe 디렉터리로 이동합니다. 저장소

  2. 다음 명령어를 실행합니다.

    python3 mediapipe/examples/ios/link_local_profiles.py
    

이렇게 하면 대상 서비스가 적용되는 모든 애플리케이션의 프로비저닝 프로필을 찾아 Xcode에서 자동 프로비저닝을 사용 설정해야 합니다.

커스텀 프로비저닝

  1. Apple에서 프로비저닝 프로필 받기
를 통해 개인정보처리방침을 정의할 수 있습니다.
  1. Symlink 또는 프로비저닝 프로필을 mediapipe/mediapipe/provisioning_profile.mobileprovision

    cd mediapipe
    ln -s ~/Downloads/MyProvisioningProfile.mobileprovision mediapipe/provisioning_profile.mobileprovision
    
를 통해 개인정보처리방침을 정의할 수 있습니다.
  1. mediapipe/examples/ios/bundle_id.bzl를 열고 BUNDLE_ID_PREFIX을 프로비저닝 프로필과 연결된 프리픽스로 변경합니다.

Xcode를 사용하여 앱 빌드 및 실행

  1. Xcode 프로젝트를 생성하고 자동 또는 사용할 수 있습니다

  2. 이제 대상 메뉴에서 Mediapipe 프레임워크 데모를 선택할 수 있습니다. 빌드하고 정상적으로 실행할 수 있습니다.

를 통해 개인정보처리방침을 정의할 수 있습니다.

명령줄을 사용하여 앱 빌드

  1. 자동 또는 커스텀 프로비저닝을 설정했는지 확인합니다.

  2. 예를 들어 MediaPipe Hands를 사용하여 다음을 실행합니다.

    bazel build -c opt --config=ios_arm64 mediapipe/examples/ios/handtrackinggpu:HandTrackingGpuApp
    

    앱에 서명하기 위해 codesign에서 권한 요청이 표시될 수 있습니다.

  3. Xcode에서 Devices and Simulators 창 (command-shift-2)을 엽니다.

  4. 기기가 연결되어 있는지 확인합니다. 설치된 앱 목록이 표시됩니다. 키보드의 '+' 버튼을 클릭하고, 빌드한 .ipa 파일을 선택합니다. Bazel을 사용하세요.

  5. 이제 기기에서 앱을 실행할 수 있습니다.

를 통해 개인정보처리방침을 정의할 수 있습니다.