iOS पर MediaPipe फ़्रेमवर्क

MediaPipe iframe के साथ iOS उदाहरण ऐप्लिकेशन बनाने के लिए नीचे दिए गए निर्देशों का पालन करें. उदाहरण के तौर पर दिए गए इन ऐप्लिकेशन के बारे में ज़्यादा जानने के लिए, iOS पर Hello World! से शुरुआत करें.

iOS के उदाहरण वाले ऐप्लिकेशन बनाना

पहले से आवश्यक

  1. इन instructions का पालन करके MediaPipe Framework को इंस्टॉल करें.

  2. Xcode इंस्टॉल करें, फिर इनका इस्तेमाल करके Command Line टूल इंस्टॉल करें:

    xcode-select --install
    
  3. Bazelisk इंस्टॉल करें.

    हमारा सुझाव है कि नए वर्शन पाने के लिए, Homebrew का इस्तेमाल करें.

    brew install bazelisk
    
  4. Python 3.7 को डिफ़ॉल्ट Python वर्शन के तौर पर सेट करें और Python "six" लाइब्रेरी इंस्टॉल करें. TensorFlow के लिए यह ज़रूरी है.

    pip3 install --user six
    
  5. MediaPipe रिपॉज़िटरी का क्लोन बनाएं.

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

बंडल आईडी का प्रीफ़िक्स सेट अप करना

सभी iOS ऐप्लिकेशन का एक बंडल आईडी होना चाहिए. साथ ही, आपके पास एक ऐसी प्रोविज़निंग प्रोफ़ाइल होनी चाहिए जिससे आप अपने फ़ोन पर उस आईडी वाला ऐप्लिकेशन इंस्टॉल कर सकें. अलग-अलग MediaPipe उपयोगकर्ताओं के बीच टकराव से बचने के लिए, आपको हमारे iOS डेमो ऐप्लिकेशन के बंडल आईडी के लिए एक खास प्रीफ़िक्स कॉन्फ़िगर करना होगा.

अगर आपके पास कस्टम प्रॉविज़निंग प्रोफ़ाइल है, तो नीचे कस्टम प्रॉविज़निंग देखें.

अगर ऐसा नहीं है, तो यूनीक प्रीफ़िक्स जनरेट करने के लिए, इस कमांड को चलाएं:

python3 mediapipe/examples/ios/link_local_profiles.py

Xcode प्रोजेक्ट बनाना

इसकी मदद से, Xcode में उदाहरण के तौर पर दिए गए किसी एक ऐप्लिकेशन में बदलाव किया जा सकता है और उसे डीबग किया जा सकता है. इसकी मदद से, अपने-आप प्रावधान की सुविधा इस्तेमाल की जा सकती है (बाद का सेक्शन देखें).

  1. हम Bazel बिल्ड कॉन्फ़िगरेशन से Xcode प्रोजेक्ट जनरेट करने के लिए, Tulsi नाम के टूल का इस्तेमाल करेंगे.

    # 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. Tulsi ऐप्लिकेशन से mediapipe/Mediapipe.tulsiproj खोलें.

  3. 'कॉन्फ़िगरेशन' टैब में, MediaPipe कॉन्फ़िगरेशन चुनें और नीचे दिया गया 'जनरेट करें' बटन दबाएं. Xcode प्रोजेक्ट को सेव करने के लिए, आपसे जगह की जानकारी मांगी जाएगी. प्रोजेक्ट जनरेट होने के बाद, उसे Xcode में खोला जाएगा.

    अगर आपको बंडल आईडी से जुड़ी गड़बड़ी का कोई मैसेज मिलता है, तो पिछला सेक्शन देखें.

डिवाइस प्रॉविज़निंग सेट अप करें

किसी iOS डिवाइस पर ऐप्लिकेशन इंस्टॉल करने के लिए, आपको एक प्रावधान प्रोफ़ाइल की ज़रूरत होगी. इसके दो विकल्प होते हैं:

  1. अपने-आप प्रावधान करें. इससे आप अपने निजी डिवाइस पर कोई ऐप्लिकेशन बनाकर उसे इंस्टॉल कर सकते हैं. प्रॉविज़निंग प्रोफ़ाइल को Xcode से मैनेज किया जाता है और इसे बार-बार अपडेट करना पड़ता है. यह करीब एक हफ़्ते के लिए मान्य होती है.

  2. कस्टम प्रावधान. यह Apple डेवलपर खाते से जुड़ी प्रावधान वाली प्रोफ़ाइल का इस्तेमाल करता है. इन प्रोफ़ाइल की मान्यता अवधि लंबी होती है और कई डिवाइसों को टारगेट किया जा सकता है. हालांकि, ऐसा करने के लिए, आपको Apple पर पैसे चुकाकर डाउनलोड किए जाने वाले डेवलपर खाते की ज़रूरत होगी.

अपने-आप होने वाले प्रावधान

  1. जैसा कि पहले बताया गया था, MediaPipe के लिए एक Xcode प्रोजेक्ट बनाएं

  2. बाईं साइडबार में प्रोजेक्ट नेविगेटर में, "MediaPipe" प्रोजेक्ट चुनें.

  3. कोई एक ऐप्लिकेशन टारगेट चुनें, जैसे कि HandTrackingGpuApp.

  4. "हस्ताक्षर करना और क्षमताएं" टैब चुनें.

  5. "साइनिंग को अपने-आप मैनेज करें" पर सही का निशान लगाएं और डायलॉग बॉक्स की पुष्टि करें.

  6. टीम डायलॉग मेन्यू में "आपका नाम (निजी टीम)" चुनें.

  7. यह सेट-अप हर उस ऐप्लिकेशन के लिए एक बार होना चाहिए जिसे आपको इंस्टॉल करना है. तीसरे से छठे चरण को ज़रूरत के मुताबिक दोहराएं.

इससे आपके चुने गए हर ऐप्लिकेशन के लिए प्रावधान की प्रोफ़ाइलें जनरेट हो जाती हैं. अब आपको बेज़ेल को उनका इस्तेमाल करने के लिए कहना होगा. हमने इसे आसान बनाने के लिए एक स्क्रिप्ट उपलब्ध कराई है.

  1. टर्मिनल में, mediapipe डायरेक्ट्री में, जहां आपने डेटा स्टोर करने की जगह की क्लोन बनाई है.

  2. इस निर्देश को चलाएं:

    python3 mediapipe/examples/ios/link_local_profiles.py
    

यह उन सभी ऐप्लिकेशन की प्रॉविज़निंग प्रोफ़ाइल को ढूंढकर लिंक करेगा जिनके लिए आपने Xcode में अपने-आप प्रावधान की सुविधा चालू की है.

कस्टम प्रावधान

  1. Apple से प्रावधान वाली प्रोफ़ाइल पाएं.
  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 विंडो (कमांड-शिफ़्ट-2) खोलें.

  4. पक्का करें कि आपका डिवाइस कनेक्ट है. आपको इंस्टॉल किए गए ऐप्लिकेशन की सूची दिखेगी. सूची में मौजूद "+" बटन को दबाएं और Bazel की बनाई गई .ipa फ़ाइल चुनें.

  5. अब इस ऐप्लिकेशन को डिवाइस पर इस्तेमाल किया जा सकता है.