iOS'te MediaPipe Çerçevesi

MediaPipe Framework ile iOS örnek uygulamaları oluşturmak için aşağıdaki talimatları uygulayın. Bu örnek uygulamalar hakkında daha fazla bilgi edinmek için işe iOS'te Hello World! bölümünden başlayın.

iOS örnek uygulamaları oluşturma

Ön koşul

  1. Bu instructions uygulayarak Mediapipe Framework'ü yükleyin.

  2. Xcode'u yükleyin ve ardından aşağıdakileri kullanarak Komut Satırı Araçları'nı yükleyin:

    xcode-select --install
    
  3. Bazelisk'i yükleyin.

    En son sürümleri edinmek için Homebrew aracını kullanmanızı öneririz.

    brew install bazelisk
    
  4. Python 3.7'yi varsayılan Python sürümü olarak ayarlayın ve Python "six" kitaplığını yükleyin. Bu, TensorFlow için gereklidir.

    pip3 install --user six
    
  5. MediaPipe deposunu klonlayın.

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

Paket kimliği ön eki oluşturma

Tüm iOS uygulamalarının bir paket kimliği olmalıdır ve telefonunuza aynı kimliğe sahip uygulamaları yüklemenize izin veren bir temel hazırlık profilinizin olması gerekir. Farklı MediaPipe kullanıcıları arasında çakışmaları önlemek amacıyla, iOS demo uygulamalarımızın paket kimlikleri için benzersiz bir önek yapılandırmanız gerekir.

Özel bir temel hazırlık profiliniz varsa aşağıdaki Özel temel hazırlık bölümüne bakın.

Aksi takdirde, benzersiz bir önek oluşturmak için şu komutu çalıştırın:

python3 mediapipe/examples/ios/link_local_profiles.py

Xcode projesi oluşturma

Bu, Xcode'daki örnek uygulamalardan birini düzenlemenize ve hata ayıklamanıza olanak tanır. Ayrıca, otomatik temel hazırlığı kullanmanıza da olanak tanır (sonraki bölüme bakın).

  1. Bazel derleme yapılandırmalarından Xcode projeleri oluşturmak için Tulsi adlı bir araç kullanacağız.

    # 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
    

    Bu işlem, Tulsi.app öğesini ana dizininizin Applications dizinine yükler.

  2. Tulsi uygulamasını kullanarak mediapipe/Mediapipe.tulsiproj uygulamasını açın.

  3. Yapılandırmalar sekmesinde MediaPipe yapılandırmasını seçin, ardından aşağıdaki Oluştur düğmesine basın. Xcode projesini kaydetmek için bir konum belirtmeniz istenir. Proje oluşturulduktan sonra Xcode'da açılır.

    Paket kimlikleriyle ilgili hata alırsanız önceki bölümü inceleyin.

Temel hazırlık ayarlarını yapın

iOS cihaza uygulama yüklemek için bir temel hazırlık profiline ihtiyacınız vardır. İki seçeneğiniz vardır:

  1. Otomatik temel hazırlık. Bu, bir uygulama oluşturmanıza ve kişisel cihazınıza yüklemenize olanak tanır. Temel hazırlık profili Xcode tarafından yönetilir ve sık sık güncellenmesi gerekir (yaklaşık bir hafta boyunca geçerlidir).

  2. Özel temel hazırlık. Bu özellik, bir Apple geliştirici hesabıyla ilişkili bir temel hazırlık profili kullanır. Bu profillerin geçerlilik süresi daha uzundur ve birden fazla cihazı hedefleyebilir, ancak profil edinmek için Apple'da ücretli bir geliştirici hesabınızın olması gerekir.

Otomatik temel hazırlık

  1. Daha önce açıklandığı gibi MediaPipe için bir Xcode projesi oluşturun

  2. Sol kenar çubuğundaki proje gezgininden "Mediapipe" projesini seçin.

  3. Uygulama hedeflerinden birini seçin (örneğin, HandTrackingGpuApp).

  4. "İmzalama ve Özellikler" sekmesini seçin.

  5. "İmzalamayı otomatik olarak yönet"i işaretleyin ve iletişim kutusunu onaylayın.

  6. Ekip iletişim kutusunda "Your Name (Personal Team)" (Adınız) seçeneğini belirleyin.

  7. Bu kurulumun, yüklemek istediğiniz her uygulama için bir kez yapılması gerekir. Gerekirse 3-6. adımları tekrarlayın.

Bu işlem, seçtiğiniz her uygulama için temel hazırlık profilleri oluşturur. Şimdi Bazel'a bunları kullanmasını söylemeniz gerekiyor. Bu işlemi kolaylaştırmak için bir komut dosyası sağladık.

  1. Terminalde, depoyu klonladığınız mediapipe dizinine gidin.

  2. Şu komutu çalıştırın:

    python3 mediapipe/examples/ios/link_local_profiles.py
    

Bu işlem, Xcode'da otomatik temel hazırlığı etkinleştirdiğiniz tüm uygulamaların temel hazırlık profilini bulup bağlar.

Özel temel hazırlık

  1. Apple'dan bir temel hazırlık profili alın.
  1. Temel hazırlık profilinizi mediapipe/mediapipe/provisioning_profile.mobileprovision adresine simgesel olarak bağlayın veya kopyalayın.

    cd mediapipe
    ln -s ~/Downloads/MyProvisioningProfile.mobileprovision mediapipe/provisioning_profile.mobileprovision
    
  1. mediapipe/examples/ios/bundle_id.bzl uygulamasını açın ve BUNDLE_ID_PREFIX özelliğini temel hazırlık profilinizle ilişkili bir önekle değiştirin.

Xcode kullanarak uygulama derleme ve çalıştırma

  1. Xcode projesini oluşturun ve otomatik veya özel temel hazırlığı ayarladığınızdan emin olun.

  2. Artık hedef menüden Mediapipe Framework demolarından istediğinizi seçebilir ve bunları normal şekilde oluşturup çalıştırabilirsiniz.

Komut satırını kullanarak uygulama derleme

  1. Otomatik veya özel temel hazırlığı ayarladığınızdan emin olun.

  2. Örneğin MediaPipe Ellerini kullanarak şu komutu çalıştırın:

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

    Uygulamayı imzalamak için codesign tarafından gönderilen bir izin isteği görebilirsiniz.

  3. Xcode'da Devices and Simulators penceresini açın (command-shift-2).

  4. Cihazınızın bağlı olduğundan emin olun. Yüklü uygulamaların listesini görürsünüz. Listenin altındaki "+" düğmesine basın ve Bazel tarafından oluşturulan .ipa dosyasını seçin.

  5. Artık uygulamayı cihazınızda çalıştırabilirsiniz.