MediaPipe Framework trên iOS

Hãy làm theo hướng dẫn bên dưới để tạo ứng dụng mẫu iOS bằng MediaPipe Khung. Để tìm hiểu thêm về các ứng dụng mẫu này, hãy bắt đầu từ nội dung Xin chào Thế giới! trên iOS.

Xây dựng ứng dụng mẫu dành cho iOS

Điều kiện tiên quyết

  1. Cài đặt Mediapipe Framework theo các hướng dẫn sau.

  2. Cài đặt Xcode, sau đó cài đặt Công cụ dòng lệnh sử dụng:

    xcode-select --install
    
  3. Cài đặt Bazelisk.

    Bạn nên sử dụng Homebrew để tải phiên bản mới nhất.

    brew install bazelisk
    
  4. Đặt Python 3.7 làm phiên bản Python mặc định và cài đặt Python "six" thư viện của bạn. Điều này là cần thiết cho TensorFlow.

    pip3 install --user six
    
  5. Sao chép kho lưu trữ MediaPipe.

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

Thiết lập tiền tố mã nhận dạng gói

Tất cả ứng dụng iOS đều phải có mã nhận dạng gói và bạn phải có hồ sơ cấp phép cho phép bạn cài đặt một ứng dụng có mã nhận dạng đó trên điện thoại của mình. Để tránh xung đột giữa những người dùng MediaPipe khác nhau, bạn cần định cấu hình một tiền tố duy nhất cho mã nhận dạng gói của các ứng dụng minh hoạ trên iOS.

Nếu bạn có hồ sơ cấp phép tuỳ chỉnh, hãy xem Cấp phép tuỳ chỉnh ở bên dưới.

Nếu không, hãy chạy lệnh này để tạo một tiền tố duy nhất:

python3 mediapipe/examples/ios/link_local_profiles.py

Tạo dự án Xcode

Việc này cho phép bạn chỉnh sửa và gỡ lỗi một trong các ứng dụng mẫu trong Xcode. Điều này cũng cho phép bạn sử dụng tính năng cấp phép tự động (xem phần sau).

  1. Chúng tôi sẽ sử dụng một công cụ có tên là Tulsi để tạo Các dự án Xcode từ cấu hình bản dựng của 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
    

    Thao tác này sẽ cài đặt Tulsi.app bên trong thư mục Applications trong thư mục gốc.

  2. Mở mediapipe/Mediapipe.tulsiproj bằng ứng dụng Tulsi.

  3. Chọn cấu hình MediaPipe trong thẻ Cấu hình, rồi nhấn nút Tạo nút bên dưới. Bạn sẽ được yêu cầu cung cấp vị trí để lưu dự án Xcode. Sau khi được tạo, dự án sẽ được mở trong Xcode.

    Nếu bạn gặp lỗi về mã nhận dạng gói, hãy xem phần trước.

Thiết lập cấp phép

Để cài đặt ứng dụng trên thiết bị iOS, bạn cần có hồ sơ cấp phép. Có có hai lựa chọn:

  1. Tự động cấp phép. Điều này cho phép bạn tạo và cài đặt ứng dụng cho thiết bị cá nhân của bạn. Hồ sơ cấp phép do Xcode quản lý và phải được được cập nhật thường xuyên (có hiệu lực trong khoảng một tuần).

  2. Cấp phép tuỳ chỉnh. Tính năng này sử dụng hồ sơ cấp phép được liên kết với Tài khoản nhà phát triển của Apple. Các hồ sơ này có thời hạn hiệu lực lâu hơn và có thể nhắm đến nhiều thiết bị, nhưng bạn cần có một tài khoản nhà phát triển có tính phí Apple để có được một thiết bị như vậy.

Tự động cấp phép

  1. Tạo một dự án Xcode cho MediaPipe như đã thảo luận sớm hơn

  2. Trong trình điều hướng dự án ở thanh bên trái, hãy chọn "Mediapipe" dự án.

  3. Chọn một trong các mục tiêu ứng dụng, ví dụ: HandTrackingGpuApp.

  4. Chọn tuỳ chọn "Ký & Chức năng" .

  5. Đánh dấu mục "Tự động quản lý việc ký" rồi xác nhận hộp thoại.

  6. Chọn "Tên của bạn (Nhóm cá nhân)" trong trình đơn hộp thoại Nhóm.

  7. Bạn cần thực hiện thiết lập này một lần cho mỗi ứng dụng mà bạn muốn cài đặt. Lặp lại các bước từ 3 đến 6 nếu cần.

Thao tác này sẽ tạo hồ sơ cấp phép cho từng ứng dụng bạn đã chọn. Giờ đây, bạn cần bảo Bazel sử dụng chúng. Chúng tôi đã cung cấp một tập lệnh để giúp bạn thực hiện việc này dễ dàng hơn.

  1. Trong dòng lệnh, đến thư mục mediapipe mà bạn đã sao chép kho lưu trữ.

  2. Chạy lệnh này:

    python3 mediapipe/examples/ios/link_local_profiles.py
    

Thao tác này sẽ tìm và liên kết hồ sơ cấp phép cho tất cả ứng dụng bạn đã bật tính năng tự động cấp phép trong Xcode.

Cấp phép tuỳ chỉnh

  1. Nhận hồ sơ cấp phép từ Apple.
  1. Liên kết ký hiệu hoặc sao chép hồ sơ cấp phép của bạn sang mediapipe/mediapipe/provisioning_profile.mobileprovision.

    cd mediapipe
    ln -s ~/Downloads/MyProvisioningProfile.mobileprovision mediapipe/provisioning_profile.mobileprovision
    
  1. Mở mediapipe/examples/ios/bundle_id.bzl rồi thay đổi BUNDLE_ID_PREFIX sang tiền tố liên kết với hồ sơ cấp phép của bạn.

Tạo và chạy ứng dụng bằng Xcode

  1. Tạo dự án Xcode và đảm bảo bạn đã thiết lập dự án tự động hoặc cấp phép tuỳ chỉnh.

  2. Bây giờ, bạn có thể chọn bất kỳ bản minh hoạ Mediapipe Framework nào trong trình đơn đích, rồi tạo và chạy chúng như bình thường.

Tạo ứng dụng bằng dòng lệnh

  1. Đảm bảo bạn đã thiết lập tính năng cấp phép tự động hoặc tuỳ chỉnh.

  2. Ví dụ: sử dụng MediaPipe NOW (Thực hành phương tiện truyền thông đa phương tiện) để chạy:

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

    Bạn có thể thấy yêu cầu cấp quyền từ codesign để ký ứng dụng.

  3. Trong Xcode, hãy mở cửa sổ Devices and Simulators (command-shift-2).

  4. Hãy đảm bảo rằng thiết bị của bạn đã kết nối. Bạn sẽ thấy một danh sách các ứng dụng đã cài đặt. Nhấn vào "+" bên dưới danh sách rồi chọn tệp .ipa được tạo bởi Bazel.

  5. Bây giờ, bạn có thể chạy ứng dụng trên thiết bị của mình.