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

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

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

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

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

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

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

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

Swift Package Manager

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

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

  1. अपना Xcode project या workspace खोलें. इसके बाद, फ़ाइल > पैकेज की डिपेंडेंसी जोड़ें पर जाएं.
  2. यूआरएल के तौर पर https://github.com/googlemaps/ios-maps-sdk डालें. इसके बाद, पैकेज को पुल करने के लिए Enter दबाएं और "पैकेज जोड़ें" पर क्लिक करें.
  3. कोई खास version इंस्टॉल करने के लिए, डिपेंडेंसी का नियम फ़ील्ड को वर्शन के हिसाब से किसी एक विकल्प पर सेट करें. नए प्रोजेक्ट के लिए, हमारा सुझाव है कि आप नया वर्शन तय करें और "ठीक यही वर्शन" विकल्प का इस्तेमाल करें. यह चरण पूरा होने के बाद, "पैकेज जोड़ें" पर क्लिक करें.

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

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

    अपने Xcode प्रोजेक्ट की कॉन्फ़िगरेशन सेटिंग में जाकर, फ़्रेमवर्क, लाइब्रेरी, और एम्बेड किया गया कॉन्टेंट ढूंढें. इन फ़्रेमवर्क को हटाने के लिए, माइनस साइन(-) का इस्तेमाल करें:

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

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

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

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

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

  1. एसडीके टूल की ये बाइनरी और संसाधन फ़ाइलें डाउनलोड करें:
  2. XCFramework और संसाधनों को ऐक्सेस करने के लिए, फ़ाइलें एक्सट्रैक्ट करें.
  3. अगर आपके पास अब तक कोई Xcode प्रोजेक्ट नहीं है, तो उसे अभी बनाएं और अपनी लोकल मशीन पर सेव करें. अगर आपने iOS डेवलपमेंट में अभी शुरुआत की है, तो:
    1. कोई नया प्रोजेक्ट बनाएं.
    2. iOS > ऐप्लिकेशन टेंप्लेट चुनें.
    3. प्रोजेक्ट के विकल्पों वाली स्क्रीन पर:
      1. प्रोजेक्ट का नाम डालें.
      2. बंडल आइडेंटिफ़ायर फ़ील्ड की वैल्यू रिकॉर्ड करें. इस वैल्यू का इस्तेमाल करके, नीचे दिए गए एपीआई पासकोड को सीमित किया जा सकता है.
      3. प्रोजेक्ट के इंटरफ़ेस को स्टोरीबोर्ड पर सेट करें.
      4. भाषा को Swift या Objective-C पर सेट करें.
  4. सामान्य टैब खोलें. **फ़्रेमवर्क, लाइब्रेरी, और एम्बेड किया गया कॉन्टेंट** में जाकर, अपने प्रोजेक्ट में ये XCFramework खींचें . **एम्बेड न करें** को चुनना न भूलें:
    • GoogleMaps.xcframework
  5. डाउनलोड किए गए GoogleMapsResources से, GoogleMaps.bundle को कॉपी करके अपने Xcode प्रोजेक्ट की टॉप लेवल डायरेक्ट्री में डालें. प्रॉम्प्ट मिलने पर, डेस्टिनेशन ग्रुप के फ़ोल्डर में आइटम कॉपी करें को चुनना न भूलें.
  6. प्रोजेक्ट नेविगेटर में जाकर, अपना प्रोजेक्ट चुनें. इसके बाद, अपने ऐप्लिकेशन का टारगेट चुनें.
  7. अपने ऐप्लिकेशन के टारगेट के लिए, बिल्ड फ़ेज़ टैब खोलें. लाइब्रेरी के साथ बाइनरी लिंक करें में जाकर, ये फ़्रेमवर्क और लाइब्रेरी जोड़ें:
    • 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. कोई खास टारगेट चुनने के बजाय, अपना प्रोजेक्ट चुनें और बिल्ड सेटिंग टैब खोलें. लिंकिंग - सामान्य -> अन्य लिंकर फ़्लैग सेक्शन में जाकर, "डीबग" और "रिलीज़" में -ObjC जोड़ें. अगर ये सेटिंग नहीं दिखती हैं, तो बिल्ड सेटिंग बार में मौजूद फ़िल्टर को बेसिक से बदलकर सभी करें.

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

CocoaPods

iOS के लिए Maps SDK टूल, CocoaPods पॉड के तौर पर उपलब्ध है. CocoaPods, Swift और Objective-C Cocoa प्रोजेक्ट के लिए, ओपन सोर्स डिपेंडेंसी मैनेजर है.

अगर आपके पास CocoaPods टूल नहीं है, तो टर्मिनल से यह निर्देश चलाकर इसे macOS पर इंस्टॉल करें. ज़्यादा जानकारी के लिए, CocoaPods का इस्तेमाल शुरू करने की गाइड देखें.

sudo gem install cocoapods

iOS के लिए Maps SDK टूल के लिए, Podfile बनाएं. इसका इस्तेमाल करके एपीआई और उसकी डिपेंडेंसी इंस्टॉल करें:

  1. अगर आपके पास अब तक कोई Xcode प्रोजेक्ट नहीं है, तो उसे अभी बनाएं और अपनी लोकल मशीन पर सेव करें. अगर आपने iOS डेवलपमेंट में अभी शुरुआत की है, तो:
    1. कोई नया प्रोजेक्ट बनाएं.
    2. iOS > ऐप्लिकेशन टेंप्लेट चुनें.
    3. प्रोजेक्ट के विकल्पों वाली स्क्रीन पर:
      1. प्रोजेक्ट का नाम डालें.
      2. बंडल आइडेंटिफ़ायर फ़ील्ड की वैल्यू रिकॉर्ड करें. इस वैल्यू का इस्तेमाल करके, नीचे दिए गए एपीआई पासकोड को सीमित किया जा सकता है.
      3. प्रोजेक्ट के इंटरफ़ेस को स्टोरीबोर्ड पर सेट करें.
      4. भाषा को Swift या Objective-C पर सेट करें.
  2. अपने प्रोजेक्ट की डायरेक्ट्री में, Podfile नाम की फ़ाइल बनाएं. इस फ़ाइल में, आपके प्रोजेक्ट की डिपेंडेंसी तय की जाती हैं.
  3. Podfile में बदलाव करें और अपनी डिपेंडेंसी के साथ-साथ उनके वर्शन जोड़ें. यहां एक उदाहरण दिया गया है. इसमें, iOS के लिए Maps SDK टूल के लिए ज़रूरी डिपेंडेंसी शामिल है:
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '16.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps', '10.13.0'
    end
    नया वर्शन उपलब्ध होने पर सूचना पाने के लिए, समय-समय पर pod outdated चलाएं. इससे यह पक्का किया जा सकेगा कि आपके पास हमेशा नया वर्शन हो. ज़रूरत पड़ने पर, नए वर्शन पर अपग्रेड करें.
  4. Podfile सेव करें.
  5. कोई टर्मिनल खोलें और उस डायरेक्ट्री पर जाएं जिसमें Podfile मौजूद है:

    cd <path-to-project>
  6. pod install निर्देश चलाएं. इससे, Podfile में तय किए गए एपीआई इंस्टॉल हो जाएंगे. साथ ही, उनकी डिपेंडेंसी भी इंस्टॉल हो जाएंगी.

    pod install
  7. Xcode बंद करें. इसके बाद, Xcode लॉन्च करने के लिए अपने प्रोजेक्ट की .xcworkspace फ़ाइल खोलें (इस पर दो बार क्लिक करें). इसके बाद से, प्रोजेक्ट खोलने के लिए .xcworkspace फ़ाइल का इस्तेमाल करना ज़रूरी है.

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

  1. कोई टर्मिनल खोलें और उस प्रोजेक्ट की डायरेक्ट्री पर जाएं जिसमें Podfile मौजूद है.
  2. pod update निर्देश चलाएं. इससे, Podfile में तय किए गए सभी एपीआई , नए वर्शन में अपडेट हो जाएंगे.

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

एपीआई पासकोड पाना में, आपने अपने ऐप्लिकेशन के लिए एपीआई पासकोड जनरेट किया था. अब उस पासकोड को अपने 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 Privacy Details पेज पर जाएं.

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

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

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

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 टूल में कई ट्यूटोरियल और सैंपल ऐप्लिकेशन मौजूद हैं. इनकी मदद से, शुरुआत की जा सकती है. ज़्यादा जानकारी के लिए, ये लेख देखें: