MediaPipe Framework در iOS

دستورالعمل های زیر را برای ساختن برنامه های نمونه iOS با MediaPipe Framework دنبال کنید. برای کسب اطلاعات بیشتر در مورد این برنامه های نمونه، از Hello World شروع کنید! در iOS

ساختن نمونه برنامه های iOS

پيش نياز

  1. Mediapipe Framework را طبق این دستورالعمل ها نصب کنید.

  2. Xcode را نصب کنید، سپس Command Line Tools را با استفاده از:

    xcode-select --install
    
  3. Bazelisk را نصب کنید.

    توصیه می کنیم از Homebrew برای دریافت آخرین نسخه ها استفاده کنید.

    brew install bazelisk
    
  4. پایتون 3.7 را به عنوان نسخه پیش‌فرض پایتون تنظیم کنید و کتابخانه «شش» پایتون را نصب کنید. این برای TensorFlow مورد نیاز است.

    pip3 install --user six
    
  5. مخزن MediaPipe را کلون کنید.

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

پیشوند ID بسته را تنظیم کنید

همه برنامه‌های iOS باید دارای شناسه بسته باشند و شما باید یک نمایه تدارکاتی داشته باشید که به شما امکان می‌دهد برنامه‌ای با آن شناسه را روی تلفن خود نصب کنید. برای جلوگیری از درگیری بین کاربران مختلف MediaPipe، باید یک پیشوند منحصر به فرد برای شناسه های بسته برنامه های آزمایشی iOS ما پیکربندی کنید.

اگر یک نمایه تدارکات سفارشی دارید، به تهیه سفارشی در زیر مراجعه کنید.

در غیر این صورت، این دستور را برای ایجاد یک پیشوند منحصر به فرد اجرا کنید:

python3 mediapipe/examples/ios/link_local_profiles.py

یک پروژه Xcode ایجاد کنید

این به شما امکان می دهد یکی از برنامه های نمونه را در Xcode ویرایش و اشکال زدایی کنید. همچنین به شما این امکان را می دهد که از تامین خودکار استفاده کنید (به بخش بعدی مراجعه کنید).

  1. ما از ابزاری به نام Tulsi برای تولید پروژه های Xcode از پیکربندی های ساخت 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
    

    با این کار، Tulsi.app در دایرکتوری Applications در فهرست اصلی شما نصب می شود.

  2. mediapipe/Mediapipe.tulsiproj را با استفاده از برنامه Tulsi باز کنید.

  3. پیکربندی MediaPipe را در تب Configs انتخاب کنید، سپس دکمه Generate را در زیر فشار دهید. از شما مکانی برای ذخیره پروژه Xcode خواسته می شود. پس از ایجاد پروژه، در Xcode باز می شود.

    اگر در مورد شناسه های بسته با خطا مواجه شدید، به بخش قبلی مراجعه کنید.

تامین را تنظیم کنید

برای نصب برنامه‌ها در دستگاه iOS، به یک نمایه تأمین نیاز دارید. دو گزینه وجود دارد:

  1. تامین خودکار این به شما امکان می دهد یک برنامه را روی دستگاه شخصی خود بسازید و نصب کنید. نمایه تأمین توسط Xcode مدیریت می شود و باید اغلب به روز شود (حدود یک هفته معتبر است).

  2. تامین سفارشی این از یک نمایه تامین مرتبط با حساب توسعه دهنده اپل استفاده می کند. این پروفایل ها مدت اعتبار طولانی تری دارند و می توانند چندین دستگاه را هدف قرار دهند، اما برای دریافت آن به یک حساب توسعه دهنده پولی در اپل نیاز دارید.

تامین خودکار

  1. همانطور که قبلاً توضیح داده شد، یک پروژه Xcode برای MediaPipe ایجاد کنید

  2. در مسیریابی پروژه در نوار کناری سمت چپ، پروژه "Mediapipe" را انتخاب کنید.

  3. یکی از اهداف برنامه را انتخاب کنید، برای مثال HandTrackingGpuApp.

  4. برگه "امضا و قابلیت ها" را انتخاب کنید.

  5. "مدیریت خودکار امضا" را علامت بزنید و گفتگو را تایید کنید.

  6. " نام شما (تیم شخصی)" را در منوی گفتگوی تیم انتخاب کنید.

  7. این تنظیم باید یک بار برای هر برنامه ای که می خواهید نصب کنید انجام شود. مراحل 3-6 را در صورت نیاز تکرار کنید.

این برای هر برنامه ای که انتخاب کرده اید نمایه های تدارکاتی ایجاد می کند. حالا باید به Bazel بگویید از آنها استفاده کند. ما یک اسکریپت برای آسان تر کردن این کار ارائه کرده ایم.

  1. در ترمینال، به دایرکتوری mediapipe که در آن مخزن را کلون کردید.

  2. این دستور را اجرا کنید:

    python3 mediapipe/examples/ios/link_local_profiles.py
    

با این کار نمایه تأمین برای همه برنامه‌هایی که تأمین خودکار را در Xcode فعال کرده‌اید، پیدا کرده و پیوند می‌دهد.

تامین سفارشی

  1. یک نمایه تامین کننده از اپل دریافت کنید.
  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. مطمئن شوید که دستگاه شما متصل است. لیستی از برنامه های نصب شده را مشاهده خواهید کرد. دکمه "+" را در زیر لیست فشار دهید و فایل .ipa ساخته شده توسط Bazel را انتخاب کنید.

  5. اکنون می توانید برنامه را روی دستگاه خود اجرا کنید.