MediaPipe Framework di iOS

Ikuti petunjuk di bawah untuk mem-build aplikasi contoh iOS dengan Framework MediaPipe. Untuk mempelajari contoh aplikasi ini lebih lanjut, mulai dari Hello World! di iOS.

Mem-build aplikasi contoh iOS

Prasyarat

  1. Instal Framework Mediapipe dengan mengikuti petunjuk ini.

  2. Instal Xcode, lalu instal Alat Command Line menggunakan:

    xcode-select --install
    
  3. Instal Bazelisk.

    Sebaiknya gunakan Homebrew untuk mendapatkan versi terbaru.

    brew install bazelisk
    
  4. Instal library "six" Python. Hal ini diperlukan untuk TensorFlow.

    pip3 install --user six
    
  5. Clone repositori MediaPipe.

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

Menyiapkan awalan ID paket

Semua aplikasi iOS harus memiliki ID paket, dan Anda harus memiliki profil penyediaan yang memungkinkan Anda menginstal aplikasi dengan ID tersebut ke ponsel. Untuk menghindari bentrok antara pengguna MediaPipe yang berbeda, Anda perlu mengonfigurasi awalan unik untuk ID paket aplikasi demo iOS kami.

Jika Anda memiliki profil penyediaan kustom, lihat Penyediaan kustom di bawah.

Jika tidak, jalankan perintah ini untuk membuat awalan unik:

python3 mediapipe/examples/ios/link_local_profiles.py

Membuat project Xcode

Dengan begitu, Anda dapat mengedit dan men-debug salah satu aplikasi contoh di Xcode. Hal ini juga memungkinkan Anda menggunakan penyediaan otomatis (lihat bagian berikutnya).

  1. Kita akan menggunakan alat yang disebut Tulsi untuk membuat project Xcode dari konfigurasi build Bazel.

    # 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
    

    Tindakan ini akan menginstal Tulsi.app di dalam direktori Applications di direktori utama Anda.

  2. Buka mediapipe/Mediapipe.tulsiproj menggunakan aplikasi Tulsi.

  3. Pilih konfigurasi MediaPipe di tab Configs, lalu tekan tombol Generate di bawah. Anda akan diminta untuk menentukan lokasi penyimpanan project Xcode. Setelah dibuat, project akan dibuka di Xcode.

    Jika Anda mendapatkan error tentang ID paket, lihat bagian sebelumnya.

Menyiapkan penyediaan

Untuk menginstal aplikasi di perangkat iOS, Anda memerlukan profil penyediaan. Ada dua opsi:

  1. Penyediaan otomatis. Dengan begitu, Anda dapat mem-build dan menginstal aplikasi ke perangkat pribadi. Profil penyediaan dikelola oleh Xcode, dan harus sering diperbarui (valid selama sekitar seminggu).

  2. Penyediaan kustom. Tindakan ini menggunakan profil penyediaan yang terkait dengan akun developer Apple. Profil ini memiliki periode validitas yang lebih lama dan dapat menargetkan beberapa perangkat, tetapi Anda memerlukan akun developer berbayar dengan Apple untuk mendapatkannya.

Penyediaan otomatis

  1. Buat project Xcode untuk MediaPipe, seperti yang telah dibahas sebelumnya

  2. Di navigator project di sidebar kiri, pilih project "Mediapipe".

  3. Pilih salah satu target aplikasi, misalnya, HandTrackingGpuApp.

  4. Pilih tab "Penandatanganan & Kemampuan".

  5. Centang "Otomatis kelola penandatanganan", lalu konfirmasi dialog.

  6. Pilih "Nama Anda (Tim Pribadi)" di menu dialog Tim.

  7. Penyiapan ini perlu dilakukan sekali untuk setiap aplikasi yang ingin Anda instal. Ulangi langkah 3-6 sesuai kebutuhan.

Tindakan ini akan membuat profil penyediaan untuk setiap aplikasi yang telah Anda pilih. Sekarang Anda perlu memberi tahu Bazel untuk menggunakannya. Kami telah menyediakan skrip untuk mempermudah proses ini.

  1. Di terminal, buka direktori mediapipe tempat Anda meng-clone repositori.

  2. Jalankan perintah ini:

    python3 mediapipe/examples/ios/link_local_profiles.py
    

Tindakan ini akan menemukan dan menautkan profil penyediaan untuk semua aplikasi yang telah Anda aktifkan penyediaan otomatisnya di Xcode.

Penyediaan kustom

  1. Dapatkan profil penyediaan dari Apple.
  1. Buat link simbolis atau salin profil penyediaan Anda ke mediapipe/mediapipe/provisioning_profile.mobileprovision.

    cd mediapipe
    ln -s ~/Downloads/MyProvisioningProfile.mobileprovision mediapipe/provisioning_profile.mobileprovision
    
  1. Buka mediapipe/examples/ios/bundle_id.bzl, dan ubah BUNDLE_ID_PREFIX menjadi awalan yang terkait dengan profil penyediaan Anda.

Mem-build dan menjalankan aplikasi menggunakan Xcode

  1. Buat project Xcode, dan pastikan Anda telah menyiapkan penyediaan otomatis atau kustom.

  2. Sekarang Anda dapat memilih demo Framework Mediapipe di menu target, dan mem-build serta menjalankannya seperti biasa.

Mem-build aplikasi menggunakan command line

  1. Pastikan Anda telah menyiapkan penyediaan otomatis atau kustom.

  2. Misalnya, menggunakan MediaPipe Hands, jalankan:

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

    Anda mungkin melihat permintaan izin dari codesign untuk menandatangani aplikasi.

  3. Di Xcode, buka jendela Devices and Simulators (command-shift-2).

  4. Pastikan perangkat Anda terhubung. Anda akan melihat daftar aplikasi yang terinstal. Tekan tombol "+" di bawah daftar, lalu pilih file .ipa yang dibuat oleh Bazel.

  5. Sekarang Anda dapat menjalankan aplikasi di perangkat.