請按照下列操作說明,使用 MediaPipe 架構建構 iOS 範例應用程式。如要進一步瞭解這些範例應用程式,請從「iOS 上的 Hello World!」開始。
建構 iOS 範例應用程式
修課條件
按照這些instructions安裝 Mediapipe 架構。
安裝 Xcode,然後使用下列指令安裝指令列工具:
xcode-select --install
安裝 Bazelisk。
建議你使用 Homebrew 取得最新版本。
brew install bazelisk
將 Python 3.7 設為預設 Python 版本,並安裝 Python「six」程式庫。這對 TensorFlow 而言是必要步驟。
pip3 install --user six
複製 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 中編輯其中一個範例應用程式並進行偵錯。此外,您也能使用自動佈建功能 (請參閱後續章節)。
我們會使用名為 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
。使用 Tulsi 應用程式開啟
mediapipe/Mediapipe.tulsiproj
。在「Configs」分頁中選取 MediaPipe 設定,然後點選下方的「Generate」按鈕。系統會請您提供儲存 Xcode 專案的位置。 專案產生後,就會在 Xcode 中開啟。
如果您收到有關軟體包 ID 的錯誤訊息,請參閱上一節。
設定佈建作業
如要在 iOS 裝置上安裝應用程式,您需要佈建設定檔。做法有以下兩種:
自動佈建。這樣可讓您建構應用程式,並安裝到個人裝置上。佈建設定檔是由 Xcode 管理,並且必須經常更新 (效期約一週)。
自訂佈建。這會使用與 Apple 開發人員帳戶相關聯的佈建設定檔。這些設定檔的有效期限較長,並且可以指定多個裝置,但您必須擁有 Apple 付費開發人員帳戶才能取得這類設定檔。
自動佈建
如前文所述,為 MediaPipe 建立 Xcode 專案
在左側欄的專案導覽器中,選取「Mediapipe」專案。
選取其中一個應用程式目標,例如手機追蹤 GpuApp。
選取「簽署與功能」分頁標籤。
勾選「自動管理簽署」,然後確認對話方塊。
在「Team」對話方塊選取「Your Name (個人團隊)」。
對於每個要安裝的應用程式,您必須分別完成這項設定作業。視需要重複步驟 3 到 6。
系統隨即會為您選取的每個應用程式產生佈建設定檔。現在,您需要指示 Bazel 使用這些項目。我們另外提供了指令碼,協助您輕鬆完成這項作業。
在終端機中,前往您複製存放區的
mediapipe
目錄。執行下列指令:
python3 mediapipe/examples/ios/link_local_profiles.py
這會尋找並連結所有已在 Xcode 中啟用自動佈建功能的應用程式的佈建設定檔。
自訂佈建
- 取得 Apple 的佈建設定檔。
使用符號連結或將佈建設定檔複製到
mediapipe/mediapipe/provisioning_profile.mobileprovision
。cd mediapipe ln -s ~/Downloads/MyProvisioningProfile.mobileprovision mediapipe/provisioning_profile.mobileprovision
- 開啟
mediapipe/examples/ios/bundle_id.bzl
,然後將BUNDLE_ID_PREFIX
變更為與佈建設定檔相關聯的前置字串。
使用 Xcode 建構並執行應用程式
建立 Xcode 專案,並確認您已設定自動或自訂佈建功能。
您現在可以在目標選單中選取任何 Mediapipe Framework 示範,然後照常建構並執行這些示範。
使用指令列建構應用程式
請確認您已設定自動或自訂佈建功能。
使用 MediaPipe 手持裝置,例如執行:
bazel build -c opt --config=ios_arm64 mediapipe/examples/ios/handtrackinggpu:HandTrackingGpuApp
您可能會看到「
codesign
」傳送的權限要求,以便您簽署應用程式。在 Xcode 中開啟
Devices and Simulators
視窗 (command-shift-2)。確認裝置已連接。您會看到已安裝應用程式的清單。 按下清單下方的「+」按鈕,然後選取 Bazel 建構的
.ipa
檔案。您現在可以在裝置上執行應用程式。