iOS 版 MediaPipe 架構

請按照下列操作說明,使用 MediaPipe 架構建構 iOS 範例應用程式。如要進一步瞭解這些範例應用程式,請從「iOS 上的 Hello World!」開始。

建構 iOS 範例應用程式

修課條件

  1. 按照這些instructions安裝 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
    

    系統會在主目錄中的 Applications 目錄中安裝 Tulsi.app

  2. 使用 Tulsi 應用程式開啟 mediapipe/Mediapipe.tulsiproj

  3. 在「Configs」分頁中選取 MediaPipe 設定,然後點選下方的「Generate」按鈕。系統會請您提供儲存 Xcode 專案的位置。 專案產生後,就會在 Xcode 中開啟。

    如果您收到有關軟體包 ID 的錯誤訊息,請參閱上一節

設定佈建作業

如要在 iOS 裝置上安裝應用程式,您需要佈建設定檔。做法有以下兩種:

  1. 自動佈建。這樣可讓您建構應用程式,並安裝到個人裝置上。佈建設定檔是由 Xcode 管理,並且必須經常更新 (效期約一週)。

  2. 自訂佈建。這會使用與 Apple 開發人員帳戶相關聯的佈建設定檔。這些設定檔的有效期限較長,並且可以指定多個裝置,但您必須擁有 Apple 付費開發人員帳戶才能取得這類設定檔。

自動佈建

  1. 前文所述,為 MediaPipe 建立 Xcode 專案

  2. 在左側欄的專案導覽器中,選取「Mediapipe」專案。

  3. 選取其中一個應用程式目標,例如手機追蹤 GpuApp。

  4. 選取「簽署與功能」分頁標籤。

  5. 勾選「自動管理簽署」,然後確認對話方塊。

  6. 在「Team」對話方塊選取「Your Name (個人團隊)」

  7. 對於每個要安裝的應用程式,您必須分別完成這項設定作業。視需要重複步驟 3 到 6。

系統隨即會為您選取的每個應用程式產生佈建設定檔。現在,您需要指示 Bazel 使用這些項目。我們另外提供了指令碼,協助您輕鬆完成這項作業。

  1. 在終端機中,前往您複製存放區的 mediapipe 目錄。

  2. 執行下列指令:

    python3 mediapipe/examples/ios/link_local_profiles.py
    

這會尋找並連結所有已在 Xcode 中啟用自動佈建功能的應用程式的佈建設定檔。

自訂佈建

  1. 取得 Apple 的佈建設定檔。
  1. 使用符號連結或將佈建設定檔複製到 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 Framework 示範,然後照常建構並執行這些示範。

使用指令列建構應用程式

  1. 請確認您已設定自動或自訂佈建功能。

  2. 使用 MediaPipe 手持裝置,例如執行:

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

    您可能會看到「codesign」傳送的權限要求,以便您簽署應用程式。

  3. 在 Xcode 中開啟 Devices and Simulators 視窗 (command-shift-2)。

  4. 確認裝置已連接。您會看到已安裝應用程式的清單。 按下清單下方的「+」按鈕,然後選取 Bazel 建構的 .ipa 檔案。

  5. 您現在可以在裝置上執行應用程式。