MediaPipe Framework di iOS

Ikuti petunjuk di bawah ini untuk membuat aplikasi contoh iOS dengan Framework MediaPipe. Untuk mempelajari aplikasi contoh ini lebih lanjut, mulailah dari Hello World! di iOS.

Membuat aplikasi contoh iOS

Prasyarat

  1. Instal Framework Mediapipe dengan mengikuti instructions 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. Setel Python 3.7 sebagai versi Python default dan instal library "six" python. 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 antar-pengguna MediaPipe yang berbeda, Anda harus 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

Ini memungkinkan Anda mengedit dan men-debug salah satu aplikasi contoh di Xcode. API ini juga memungkinkan Anda menggunakan penyediaan otomatis (lihat bagian selanjutnya).

  1. Kita akan menggunakan alat bernama 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 beranda Anda.

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

  3. Pilih konfigurasi MediaPipe di tab Configs, lalu tekan tombol Buat di bawah. Anda akan dimintai lokasi untuk menyimpan project Xcode. Setelah dibuat, project akan dibuka di Xcode.

    Jika Anda menerima error terkait ID paket, lihat bagian sebelumnya.

Menyiapkan penyediaan

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

  1. Penyediaan otomatis. Hal ini memungkinkan Anda membuat dan menginstal aplikasi ke perangkat pribadi Anda. Profil penyediaan dikelola oleh Xcode dan harus sering diupdate (berlaku selama sekitar seminggu).

  2. Penyediaan kustom. Tindakan ini menggunakan profil penyediaan yang terkait dengan akun Apple Developer. 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. Pada navigator project di sidebar kiri, pilih project "Mediapipe".

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

  4. Pilih tab "Penandatanganan & Kemampuan".

  5. Centang "Otomatis mengelola penandatanganan", dan konfirmasi dialog.

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

  7. Penyiapan ini perlu dilakukan sekali untuk setiap aplikasi yang ingin diinstal. Ulangi langkah 3-6 jika diperlukan.

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

  1. Di terminal, ke 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 penyediaan otomatisnya telah Anda aktifkan di Xcode.

Penyediaan kustom

  1. Mendapatkan profil penyediaan dari Apple.
  1. Symlink 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, lalu ubah BUNDLE_ID_PREFIX menjadi awalan yang terkait dengan profil penyediaan Anda.

Membangun dan menjalankan aplikasi menggunakan Xcode

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

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

Membangun aplikasi menggunakan command line

  1. Pastikan Anda telah menyiapkan penyediaan otomatis atau khusus.

  2. Misalnya, dengan 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 "+" dalam daftar, lalu pilih file .ipa yang dibuat oleh Bazel.

  5. Sekarang Anda dapat menjalankan aplikasi di perangkat.