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

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

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

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

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

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

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

Swift Package Manager

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

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

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

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

  1. इंस्टॉल करने की पुष्टि करने के लिए, प्रोजेक्ट नेविगेटर के पैकेज डिपेंडेंसी सेक्शन पर जाएं. यहां पैकेज और उसके वर्शन की पुष्टि करें.

अगर आपने iOS के लिए Navigation SDK को मैन्युअल तरीके से इंस्टॉल किया है, तो उसे हटाने के लिए यह तरीका अपनाएं:
  1. Xcode प्रोजेक्ट कॉन्फ़िगरेशन सेटिंग में जाकर, Frameworks, Libraries, and Embedded Content ढूंढें. यहां दिए गए फ़्रेमवर्क को हटाने के लिए, माइनस के निशान(-) का इस्तेमाल करें:
    • GoogleMaps.xcframework
    • GoogleNavigation.xcframework
  2. अपने Xcode प्रोजेक्ट की टॉप लेवल डायरेक्ट्री से, GoogleMaps बंडल हटाएं.

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

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

iOS के लिए Navigation SDK और iOS के लिए Maps SDK के XCFrameworks इंस्टॉल करने के लिए, यह तरीका अपनाएं:

  1. SDK टूल की इन बाइनरी और संसाधन फ़ाइलों को डाउनलोड करें:
  2. Xcode लॉन्च करें. इसके बाद, कोई मौजूदा प्रोजेक्ट खोलें या नया प्रोजेक्ट बनाएं. अगर आपने iOS का इस्तेमाल पहले कभी नहीं किया है, तो एक नया प्रोजेक्ट बनाएं और iOS ऐप्लिकेशन टेंप्लेट चुनें.
  3. प्रोजेक्ट से Maps, Navigation, और Places के सभी मौजूदा रेफ़रंस हटाएं.
  4. Maps और Navigation SDK टूल, दोनों को इंस्टॉल करने के लिए, नीचे दिए गए XCFrameworks को अपने प्रोजेक्ट में Frameworks, Libraries, and Embedded Content में खींचें और छोड़ें. अगर आपसे कहा जाए, तो Copy items if needed को चुनें:
    • GoogleMaps.xcframework
    • GoogleNavigation.xcframework
  5. आपने जो GoogleMapsResources डाउनलोड किया है उससे GoogleMaps.bundle को खींचकर अपने Xcode प्रोजेक्ट की टॉप लेवल डायरेक्ट्री में छोड़ें. जब कहा जाए, तब पक्का करें कि ज़रूरत पड़ने पर आइटम कॉपी करें विकल्प चुना गया हो.
  6. आपने जो GoogleNavigationResources डाउनलोड किया है उससे GoogleNavigation.bundle को खींचकर अपने Xcode प्रोजेक्ट की टॉप लेवल डायरेक्ट्री में छोड़ें. जब आपसे पूछा जाए, तो पक्का करें कि आइटम को डेस्टिनेशन ग्रुप के फ़ोल्डर में कॉपी करें विकल्प चुना गया हो.
  7. प्रोजेक्ट नेविगेटर से अपना प्रोजेक्ट चुनें. इसके बाद, अपने ऐप्लिकेशन का टारगेट चुनें.
  8. Build Phases टैब खोलें. इसके बाद, Link Binary with Libraries में जाकर, ये फ़्रेमवर्क और लाइब्रेरी जोड़ें:
    • Accelerate.framework
    • AudioToolbox.framework
    • AVFoundation.framework
    • Contacts.framework
    • CoreData.framework
    • CoreGraphics.framework
    • CoreImage.framework
    • CoreLocation.framework
    • CoreTelephony.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libc++.tbd
    • libxml2.tbd
    • libz.tbd
    • Metal.framework
    • OpenGLES.framework
    • QuartzCore.framework
    • Security.framework
    • SystemConfiguration.framework
    • UIKit.framework
    • UserNotifications.framework
    • WebKit.framework
  9. अपने ऐप्लिकेशन के टारगेट में, Capabilities टैब चुनें. Background Modes को चालू करें और इन मोड को चालू करें:
    • ऑडियो, AirPlay, और पिक्चर में पिक्चर की सुविधा
    • जगह की जानकारी से जुड़े अपडेट
  10. किसी खास टारगेट के बजाय, अपना प्रोजेक्ट चुनें. इसके बाद, Build Settings टैब खोलें. अन्य लिंकर फ़्लैग सेक्शन में जाकर, debug और release, दोनों के लिए ‑ObjC जोड़ें. अगर ये सेटिंग नहीं दिख रही हैं, तो बिल्ड सेटिंग बार में जाकर, फ़िल्टर को सामान्य से सभी पर सेट करें.
  11. Info.plist खोलें और यहां दिए गए की-वैल्यू पेयर जोड़ें:
    • कुंजी: NSLocationWhenInUseUsageDescription (Privacy - Location When In Use Usage Description)
      वैल्यू: "इस ऐप्लिकेशन को, बारी-बारी से नेविगेशन की सुविधा देने के लिए, आपकी जगह की जानकारी इस्तेमाल करने की अनुमति चाहिए."
    • कुंजी: NSLocationAlwaysAndWhenInUseUsageDescription (निजता - हमेशा और इस्तेमाल के दौरान जगह की जानकारी ऐक्सेस करने की अनुमति के बारे में जानकारी)
      वैल्यू: "इस ऐप्लिकेशन को, बारी-बारी से नेविगेशन की सुविधा देने के लिए, आपकी जगह की जानकारी ऐक्सेस करने की अनुमति चाहिए."

CocoaPods

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

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

sudo gem install cocoapods

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

  1. अगर आपके पास अब तक कोई Xcode प्रोजेक्ट नहीं है, तो अभी एक प्रोजेक्ट बनाएं और उसे अपनी लोकल मशीन पर सेव करें. अगर आपको iOS डेवलपमेंट के बारे में ज़्यादा जानकारी नहीं है, तो:
    1. नया प्रोजेक्ट बनाएं.
    2. iOS > ऐप्लिकेशन टेंप्लेट चुनें.
    3. प्रोजेक्ट के विकल्पों वाली स्क्रीन पर:
      1. प्रोजेक्ट का नाम डालें.
      2. बंडल आइडेंटिफ़ायर फ़ील्ड की वैल्यू रिकॉर्ड करें. इस वैल्यू का इस्तेमाल करके, यहां दी गई अपनी एपीआई कुंजी को सीमित किया जा सकता है.
      3. प्रोजेक्ट के इंटरफ़ेस को स्टोरीबोर्ड पर सेट करें.
      4. भाषा को Swift या Objective-C पर सेट करें.
  2. अपने प्रोजेक्ट डायरेक्ट्री में Podfile नाम की फ़ाइल बनाएं. इस फ़ाइल में, आपके प्रोजेक्ट की डिपेंडेंसी के बारे में बताया गया है.
  3. Podfile में बदलाव करें और अपनी डिपेंडेंसी के साथ-साथ उनके वर्शन जोड़ें. यहां एक उदाहरण दिया गया है. इसमें iOS के लिए Navigation SDK के लिए ज़रूरी डिपेंडेंसी शामिल है: # Cocoapods install reference #
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '16.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleNavigation', '10.1.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 में अपने प्रोजेक्ट में एपीआई कुंजी जोड़ने का तरीका बताया गया है:

Swift

अपनी एपीआई कुंजी को AppDelegate.swift में इस तरह जोड़ें:

  1. ये इंपोर्ट स्टेटमेंट जोड़ें:
    import GoogleMaps
    import GoogleNavigation
  2. अपने application(_:didFinishLaunchingWithOptions:) तरीके में यह जानकारी जोड़ें:
    GMSServices.provideAPIKey("YOUR_API_KEY")

Objective-C

अपनी एपीआई कुंजी को AppDelegate.m में इस तरह जोड़ें:

  1. ये इंपोर्ट स्टेटमेंट जोड़ें:
    @import GoogleMaps;
    @import GoogleNavigation;
  2. अपने application:didFinishLaunchingWithOptions: तरीके में यह जानकारी जोड़ें:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];

चौथा चरण (ज़रूरी नहीं): Apple की Privacy Manifest फ़ाइल की जांच करना

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

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

अगर आप Mobility Services के ग्राहक हैं

अगर आप Mobility Services के ग्राहक हैं, तो Mobility के दस्तावेज़ में बिलिंग के बारे में जानें. लेन-देन रिकॉर्ड करने के बारे में ज़्यादा जानने के लिए, बिलिंग सेट अप करना लेख पढ़ें. Navigation SDK को लागू करने के दौरान, लेन-देन के आईडी जोड़ने का तरीका जानने के लिए, अपनी सेवा के इस्तेमाल को मोबिलिटी लेन-देन से जोड़ना लेख पढ़ें.

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

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