Xcode प्रोजेक्ट सेट अप करना

बिलिंग चालू करने और एपीआई पासकोड बनाने के बाद, Xcode प्रोजेक्ट सेट अप करें. इसका इस्तेमाल, ऐप्लिकेशन डेवलप करने के लिए किया जाता है.

हर रिलीज़ के लिए, रिलीज़ नोट उपलब्ध होते हैं.

पहला चरण: ज़रूरी सॉफ़्टवेयर इंस्टॉल करना

iOS के लिए Maps SDK का इस्तेमाल करके कोई प्रोजेक्ट बनाने के लिए, इन्हें डाउनलोड और इंस्टॉल करें:

  • Xcode वर्शन 26.0 या इसके बाद का वर्शन

दूसरा चरण: Xcode प्रोजेक्ट बनाना और iOS के लिए Maps SDK इंस्टॉल करना

SDK टूल का साइज़ अलग-अलग हो सकता है. उदाहरण के लिए, iOS के लिए Maps SDK के 9.0 वर्शन को इंस्टॉल करने के लिए, करीब 18 एमबी स्टोरेज की ज़रूरत होती है.

Swift Package Manager

iOS के लिए Maps SDK को Swift Package Manager की मदद से इंस्टॉल किया जा सकता है. एसडीके जोड़ने के लिए, पक्का करें कि आपने iOS के लिए Maps SDK की सभी मौजूदा डिपेंडेंसी हटा दी हों.

किसी नए या मौजूदा प्रोजेक्ट में SDK टूल जोड़ने के लिए, यह तरीका अपनाएं:

  1. Xcode project या workspace खोलें. इसके बाद, File > Add Package Dependencies पर जाएं.
  2. यूआरएल के तौर पर https://github.com/googlemaps/ios-maps-sdk डालें. इसके बाद, पैकेज को पुल करने के लिए Enter दबाएं और "Add Package" पर क्लिक करें.
  3. कोई खास version इंस्टॉल करने के लिए, डिपेंडेंसी नियम फ़ील्ड को वर्शन पर आधारित किसी विकल्प पर सेट करें. नए प्रोजेक्ट के लिए, हमारा सुझाव है कि आप नए वर्शन की जानकारी दें और "Exact Version" विकल्प का इस्तेमाल करें. इसके बाद, "पैकेज जोड़ें" पर क्लिक करें.
  4. पैकेज प्रॉडक्ट चुनें विंडो में जाकर, पुष्टि करें कि GoogleMaps को आपके तय किए गए main टारगेट में जोड़ा जाएगा. अगर आपके पास 9.0.0 से पहले का वर्शन है, तो पुष्टि करें कि GoogleMaps, GoogleMapsBase, और GoogleMapsCore को आपके तय किए गए टारगेट में जोड़ा जाएगा. इसके बाद, "पैकेज जोड़ें" पर क्लिक करें.
  5. इंस्टॉलेशन की पुष्टि करने के लिए, अपने टारगेट के General पैनल पर जाएं. Frameworks, Libraries, and Embedded Content में, आपको इंस्टॉल किए गए पैकेज दिखेंगे. पैकेज और उसके वर्शन की पुष्टि करने के लिए, "Project Navigator" के "Package Dependencies" सेक्शन को भी देखा जा सकता है.

किसी मौजूदा प्रोजेक्ट के लिए package को अपडेट करने के लिए, यह तरीका अपनाएं:

  1. अगर आपने 9.0.0 से पहले के वर्शन से अपग्रेड किया है, तो आपको अपग्रेड करने के बाद, ये डिपेंडेंसी हटानी होंगी: GoogleMapsBase, GoogleMapsCore, और GoogleMapsM4B. GoogleMaps के लिए डिपेंडेंसी न हटाएं. ज़्यादा जानकारी के लिए, वर्शन 9.0.0 के रिलीज़ नोट देखें.

    Xcode प्रोजेक्ट की कॉन्फ़िगरेशन सेटिंग में जाकर, Frameworks, Libraries, and Embedded Content ढूंढें. इस फ़्रेमवर्क को हटाने के लिए, माइनस के निशान(-) का इस्तेमाल करें:

    • GoogleMapsBase (सिर्फ़ 9.0.0 से पहले के वर्शन से अपग्रेड करने के लिए)
    • GoogleMapsCore (सिर्फ़ 9.0.0 से पहले के वर्शन से अपग्रेड करने के लिए)
    • GoogleMapsM4B (सिर्फ़ 9.0.0 से पहले के वर्शन से अपग्रेड करने के लिए)
  2. Xcode में, File > Packages > Update To Latest Package Versions पर जाएं.
  3. इंस्टॉलेशन की पुष्टि करने के लिए, प्रोजेक्ट नेविगेटर के पैकेज डिपेंडेंसी सेक्शन पर जाएं. इससे पैकेज और उसके वर्शन की पुष्टि की जा सकेगी.

CocoaPods का इस्तेमाल करके जोड़ी गई, iOS के लिए Maps SDK की मौजूदा डिपेंडेंसी हटाने के लिए, यह तरीका अपनाएं:

  1. अपना Xcode वर्कस्पेस बंद करें. टर्मिनल खोलें और यह कमांड चलाएं:
    sudo gem install cocoapods-deintegrate cocoapods-clean
    pod deintegrate
    pod cache clean --all
  2. अगर CocoaPods के अलावा किसी और चीज़ के लिए Podfile, Podfile.resolved, और Xcode workspace का इस्तेमाल नहीं किया जा रहा है, तो इन्हें हटा दें.
मैन्युअल तरीके से इंस्टॉल किए गए, iOS के लिए Maps SDK को हटाने के लिए, यह तरीका अपनाएं:
  1. Xcode प्रोजेक्ट की कॉन्फ़िगरेशन सेटिंग में जाकर, Frameworks, Libraries, and Embedded Content ढूंढें. इस फ़्रेमवर्क को हटाने के लिए, माइनस के निशान (-) का इस्तेमाल करें:
    • GoogleMaps
    • GoogleMapsBase (सिर्फ़ 9.2.0 से पहले के वर्शन के लिए)
    • GoogleMapsCore (सिर्फ़ 9.2.0 से पहले के वर्शन के लिए)
    • GoogleMapsM4B (सिर्फ़ 9.0.0 से पहले के वर्शन के लिए)
  2. अपने Xcode प्रोजेक्ट की टॉप लेवल डायरेक्ट्री से, GoogleMaps बंडल को हटाएं.

मैन्युअल तरीके से इंस्टॉल करना

इस गाइड में, iOS के लिए Maps SDK वाले XCFrameworks को अपने प्रोजेक्ट में मैन्युअल तरीके से जोड़ने और Xcode में अपनी बिल्ड सेटिंग कॉन्फ़िगर करने का तरीका बताया गया है. XCFramework एक बाइनरी पैकेज है, जिसका इस्तेमाल कई प्लैटफ़ॉर्म पर किया जाता है. इनमें Apple सिलिकॉन का इस्तेमाल करने वाली मशीनें भी शामिल हैं.

  1. ये एसडीके बाइनरी और संसाधन फ़ाइलें डाउनलोड करें:
  2. XCFrameworks और संसाधनों को ऐक्सेस करने के लिए, फ़ाइलों को एक्सट्रैक्ट करें.
  3. अगर आपके पास अब तक कोई Xcode प्रोजेक्ट नहीं है, तो अभी एक प्रोजेक्ट बनाएं और उसे अपनी लोकल मशीन में सेव करें. अगर आप iOS डेवलपमेंट में नए हैं, तो:
    1. नया प्रोजेक्ट बनाएं.
    2. iOS > ऐप्लिकेशन टेंप्लेट चुनें.
    3. प्रोजेक्ट के विकल्पों वाली स्क्रीन पर:
      1. प्रोजेक्ट का नाम डालें.
      2. बंडल आइडेंटिफ़ायर फ़ील्ड की वैल्यू रिकॉर्ड करें. इस वैल्यू का इस्तेमाल करके, एपीआई पासकोड पर पाबंदी लगाई जा सकती है.
      3. प्रोजेक्ट के इंटरफ़ेस को स्टोरीबोर्ड पर सेट करें.
      4. भाषा को Swift या Objective-C पर सेट करें.
  4. सामान्य टैब खोलें. Frameworks, Libraries, and Embedded Content में जाकर, इन XCFrameworks को अपने प्रोजेक्ट में खींचें और छोड़ें. पक्का करें कि आपने एंबेड न करें को चुना हो:
    • GoogleMaps.xcframework
  5. GoogleMapsResources से GoogleMaps.bundle को कॉपी करें. इसे अपने Xcode प्रोजेक्ट की टॉप लेवल डायरेक्ट्री में डाउनलोड करें. जब आपसे पूछा जाए, तो आइटम को डेस्टिनेशन ग्रुप के फ़ोल्डर में कॉपी करें को चुनना न भूलें.
  6. प्रोजेक्ट नेविगेटर में जाकर अपना प्रोजेक्ट चुनें. इसके बाद, अपने ऐप्लिकेशन का टारगेट चुनें.
  7. अपने ऐप्लिकेशन के टारगेट के लिए, Build Phases टैब खोलें. Link Binary with Libraries में, ये फ़्रेमवर्क और लाइब्रेरी जोड़ें:
    • Accelerate.framework
    • Contacts.framework
    • CoreData.framework
    • CoreGraphics.framework
    • CoreImage.framework
    • CoreLocation.framework
    • CoreTelephony.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libc++.tbd
    • libz.tbd
    • Metal.framework
    • MetricKit.framework
    • OpenGLES.framework (सिर्फ़ तब, जब OpenGL का इस्तेमाल किया जा रहा हो)
    • QuartzCore.framework
    • Security.framework
    • SystemConfiguration.framework
    • UIKit.framework
  8. किसी खास टारगेट के बजाय अपना प्रोजेक्ट चुनें और Build Settings टैब खोलें. Linking - General -> Other Linker Flags सेक्शन में, "डीबग" और "रिलीज़" में -ObjC जोड़ें. अगर ये सेटिंग नहीं दिख रही हैं, तो Build Settings बार में जाकर, फ़िल्टर को Basic से बदलकर All पर सेट करें.

  9. iOS XCFramework के लिए Places SDK टूल इंस्टॉल करने के लिए, iOS के लिए Places SDK टूल का इस्तेमाल शुरू करना लेख पढ़ें.

तीसरा चरण: प्रोजेक्ट में अपना एपीआई पासकोड जोड़ना

एपीआई पासकोड पाएं में, आपने अपने ऐप्लिकेशन के लिए एपीआई पासकोड जनरेट किया है. अब उस पासकोड को अपने Xcode प्रोजेक्ट में जोड़ें.

यहां दिए गए उदाहरणों में, YOUR_API_KEY की जगह अपना एपीआई पासकोड डालें.

Swift

अपने AppDelegate.swift में एपीआई पासकोड जोड़ने के लिए, यह तरीका अपनाएं:

  1. इंपोर्ट करने के लिए यह स्टेटमेंट जोड़ें:
    import GoogleMaps
  2. अपने एपीआई पासकोड का इस्तेमाल करके, application(_:didFinishLaunchingWithOptions:) तरीके में यह जोड़ें:
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. अगर Places API का भी इस्तेमाल किया जा रहा है, तो अपनी कुंजी को फिर से जोड़ें. इसके लिए, यहां दिया गया तरीका अपनाएं:
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

अपने AppDelegate.m में एपीआई पासकोड जोड़ने के लिए, यह तरीका अपनाएं:

  1. इंपोर्ट करने के लिए यह स्टेटमेंट जोड़ें:
    @import GoogleMaps;
  2. अपने एपीआई पासकोड का इस्तेमाल करके, application:didFinishLaunchingWithOptions: तरीके में यह जोड़ें:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. अगर Places API का भी इस्तेमाल किया जा रहा है, तो अपनी कुंजी को फिर से जोड़ें. इसके लिए, यहां दिया गया तरीका अपनाएं:
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

चौथा चरण (ज़रूरी नहीं): Apple की निजता मेनिफ़ेस्ट फ़ाइल की जांच करना

Apple के मुताबिक, App Store पर मौजूद ऐप्लिकेशन के लिए, ऐप्लिकेशन की निजता से जुड़ी जानकारी देना ज़रूरी है. अपडेट और ज़्यादा जानकारी के लिए, Apple App Store पर निजता की जानकारी वाले पेज पर जाएं.

Apple की प्राइवसी मेनिफ़ेस्ट फ़ाइल, SDK टूल के रिसॉर्स बंडल में शामिल होती है. यह पुष्टि करने के लिए कि प्राइवसी मेनिफ़ेस्ट फ़ाइल को शामिल किया गया है और उसके कॉन्टेंट की जांच करने के लिए, अपने ऐप्लिकेशन का संग्रह बनाएं. इसके बाद, संग्रह से निजता रिपोर्ट जनरेट करें.

पांचवां चरण (ज़रूरी नहीं): एपीआई के इस्तेमाल की जाने वाली यूआरएल स्कीम के बारे में जानकारी देना

iOS 9 और Xcode 7 से, ऐप्लिकेशन उन यूआरएल स्कीम के बारे में बताते हैं जिन्हें वे खोलना चाहते हैं. इसके लिए, वे ऐप्लिकेशन की Info.plist फ़ाइल में स्कीम के बारे में बताते हैं. जब उपयोगकर्ता मैप पर Google के लोगो पर क्लिक करता है, तो iOS के लिए Maps SDK, Google Maps मोबाइल ऐप्लिकेशन को खोलता है. इसलिए, आपका ऐप्लिकेशन काम की यूआरएल स्कीम का एलान कर सकता है.

iOS के लिए Maps SDK में इस्तेमाल की जाने वाली यूआरएल स्कीम का एलान करने के लिए, अपने Info.plist में ये लाइनें जोड़ें:

 <key>LSApplicationQueriesSchemes</key>
 <array>
        <string>googlechromes</string>
        <string>comgooglemaps</string>
    </array>

इस इमेज में, Xcode के यूज़र इंटरफ़ेस में कॉन्फ़िगरेशन दिखाया गया है:

Xcode में `LSApplicationQueriesSchemes` का कॉन्फ़िगरेशन

ऊपर दिए गए एलान के बिना, जब उपयोगकर्ता मैप पर Google के लोगो पर टैप करता है, तो ये गड़बड़ियां हो सकती हैं:

  • -canOpenURL: failed for URL: "comgooglemaps://" - error: "This app is not allowed to query for scheme comgooglemaps"
  • -canOpenURL: failed for URL: "googlechromes://" - error: "This app is not allowed to query for scheme googlechromes"

इन गड़बड़ियों को ठीक करने के लिए, अपने Info.plist में एलान जोड़ें.

आगे क्या करना है

अब आपके पास एपीआई पासकोड और Xcode प्रोजेक्ट है. इसलिए, ऐप्लिकेशन बनाएं और चलाएं. iOS के लिए Navigation SDK टूल में कई ट्यूटोरियल और सैंपल ऐप्लिकेशन उपलब्ध हैं. इनकी मदद से, आपको SDK टूल का इस्तेमाल शुरू करने में मदद मिलती है. ज़्यादा जानकारी के लिए, इन्हें देखें: