iOS 版 MediaPipe 架構

請按照下方操作說明,使用 MediaPipe Framework 建構 iOS 範例應用程式。如要進一步瞭解這些範例應用程式,請先參閱「Hello, World! 在 iOS 上」一文。

建構 iOS 範例應用程式

修課條件

  1. 按照操作說明安裝 Mediapipe Framework。

  2. 安裝 Xcode,然後使用以下指令安裝指令列工具:

    xcode-select --install
    
  3. 安裝 Bazelisk

    建議使用 Homebrew 取得最新版本。

    brew install bazelisk
    
  4. 安裝 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. 選取其中一個應用程式目標,例如 HandTrackingGpuApp。

  4. 選取「Signing & Capabilities」分頁標籤。

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

  6. 在「團隊」對話方塊選單中,選取「你的名稱 (個人團隊)」。

  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 Hands,請執行以下指令:

    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. 您現在可以在裝置上執行應用程式。