बिलिंग की सुविधा चालू करने और एपीआई पासकोड बनाने के बाद, आप Xcode प्रोजेक्ट सेट अप करने के लिए तैयार हैं. इस प्रोजेक्ट का इस्तेमाल, ऐप्लिकेशन डेवलप करने के लिए किया जाता है.
हर रिलीज़ के लिए रिलीज़ नोट उपलब्ध हैं.
पहला चरण: ज़रूरी सॉफ़्टवेयर इंस्टॉल करें
iOS के लिए, Maps SDK टूल का इस्तेमाल करके प्रोजेक्ट बनाने के लिए, आपको इन्हें डाउनलोड और इंस्टॉल करना होगा:
- Xcode 15.0 या इसके बाद का वर्शन
दूसरा चरण: Xcode प्रोजेक्ट बनाना और iOS के लिए Maps SDK टूल इंस्टॉल करना
स्विफ़्ट पैकेज मैनेजर
iOS के लिए Maps SDK टूल को Swift Package Manager की मदद से इंस्टॉल किया जा सकता है. SDK टूल जोड़ने के लिए, पक्का करें कि आपने iOS डिपेंडेंसी के लिए, Maps के सभी मौजूदा SDK टूल हटा दिए हैं.
SDK टूल को किसी नए या मौजूदा प्रोजेक्ट में जोड़ने के लिए, यह तरीका अपनाएं:
-
अपना Xcode
project
याworkspace
खोलें. इसके बाद, फ़ाइल > पैकेज डिपेंडेंसी जोड़ें पर जाएं. - यूआरएल के तौर पर, https://github.com/googlemaps/ios-maps-sdk डालें. पैकेज पाने के लिए, Enter दबाएं, और "पैकेज जोड़ें" पर क्लिक करें.
-
किसी खास
version
को इंस्टॉल करने के लिए, डिपेंडेंसी नियम फ़ील्ड को वर्शन-आधारित विकल्पों में से किसी एक पर सेट करें. नए प्रोजेक्ट के लिए, हमारा सुझाव है कि आप सबसे नया वर्शन तय करें. साथ ही, "एग्ज़ैक्ट वर्शन" विकल्प इस्तेमाल करें. यह प्रोसेस पूरी होने के बाद, "पैकेज जोड़ें" पर क्लिक करें. -
पैकेज के प्रॉडक्ट चुनें विंडो से, पुष्टि करें कि
GoogleMaps
,GoogleMapsBase
, औरGoogleMapsCore
को आपके तय किए गएmain
टारगेट में जोड़ दिया जाएगा. यह प्रोसेस पूरी होने के बाद, "पैकेज जोड़ें" पर क्लिक करें. -
अपने इंस्टॉलेशन की पुष्टि करने के लिए, अपने टारगेट के
General
पैनल पर जाएं. फ़्रेमवर्क, लाइब्रेरी, और एम्बेड किए गए कॉन्टेंट में, आपको इंस्टॉल किए गए पैकेज दिखेंगे. पैकेज और उसके वर्शन की पुष्टि करने के लिए, "Project Navigator" के "पैकेज डिपेंडेंसी" सेक्शन में भी देखा जा सकता है.
किसी मौजूदा प्रोजेक्ट के लिए, package
को अपडेट करने के लिए, यह तरीका अपनाएं:
- Xcode से, "फ़ाइल > पैकेज > सबसे नए पैकेज वर्शन में अपडेट करें" पर जाएं.
- अपने इंस्टॉलेशन की पुष्टि करने के लिए, प्रोजेक्ट नेविगेटर के पैकेज डिपेंडेंसी सेक्शन में जाकर पैकेज और उसके वर्शन की पुष्टि करें.
CocoaPods
का इस्तेमाल करके जोड़ी गई iOS डिपेंडेंसी के लिए, Maps SDK टूल को हटाने के लिए, यह तरीका अपनाएं:
- Xcode के फ़ाइल फ़ोल्डर को बंद करें. टर्मिनल खोलें और यह निर्देश दें:
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
-
अगर
Podfile
,Podfile.resolved
, और Xcodeworkspace
को CocoaPod के अलावा किसी और काम के लिए इस्तेमाल नहीं किया जा रहा है, तो उन्हें हटा दें.
-
अपने Xcode प्रोजेक्ट की कॉन्फ़िगरेशन सेटिंग में जाकर, फ़्रेमवर्क, लाइब्रेरी,
और एम्बेड किया गया कॉन्टेंट ढूंढें. नीचे दिए गए फ़्रेमवर्क को हटाने के लिए, माइनस के निशान(-) का इस्तेमाल करें:
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
-
अपने Xcode प्रोजेक्ट की टॉप लेवल डायरेक्ट्री से,
GoogleMaps
बंडल हटाएं.
CocoaPods
iOS के लिए, Maps SDK टूल CocoaPods पॉड के तौर पर उपलब्ध है. CocoaPods, Swift और Objective-C Cocoa प्रोजेक्ट के लिए एक ओपन सोर्स डिपेंडेंसी मैनेजर है.
अगर आपके पास पहले से CocoaPods टूल नहीं है, तो इसे macOS पर इंस्टॉल करें. इसके लिए, टर्मिनल से यह कमांड दें. ज़्यादा जानकारी के लिए, CocoaPods के शुरुआती इस्तेमाल से जुड़ी गाइड देखें.
sudo gem install cocoapods
iOS के लिए Maps SDK टूल के लिए, Podfile
बनाएं. साथ ही,
एपीआई और इसकी डिपेंडेंसी को इंस्टॉल करने के लिए इसका इस्तेमाल करें:
- अगर आपके पास अब तक कोई Xcode प्रोजेक्ट नहीं है, तो अभी एक प्रोजेक्ट बनाएं और उसे अपने लोकल मशीन में
सेव करें. अगर आपने हाल ही में iOS डेवलपमेंट का इस्तेमाल करना शुरू किया है:
- कोई नया प्रोजेक्ट बनाएं.
- iOS > ऐप्लिकेशन टेंप्लेट चुनें.
- प्रोजेक्ट के विकल्पों वाली स्क्रीन पर:
- प्रोजेक्ट का नाम डालें.
- बंडल आइडेंटिफ़ायर फ़ील्ड की वैल्यू रिकॉर्ड करें. अपनी एपीआई कुंजी पर पाबंदी लगाने के लिए, नीचे दी गई वैल्यू का इस्तेमाल करें.
- प्रोजेक्ट के इंटरफ़ेस को स्टोरीबोर्ड पर सेट करें.
- Language को Swift या Objective-C पर सेट करें.
- अपनी प्रोजेक्ट डायरेक्ट्री में,
Podfile
नाम की फ़ाइल बनाएं. इस फ़ाइल में आपके प्रोजेक्ट की डिपेंडेंसी के बारे में बताया गया है. Podfile
में बदलाव करें और उनके versions के साथ अपनी डिपेंडेंसी जोड़ें. यहां एक उदाहरण दिया गया है, जिसमें आपके लिए iOS के लिए Maps SDK टूल के लिए ज़रूरी डिपेंडेंसी शामिल है:source 'https://github.com/CocoaPods/Specs.git' platform :ios, '15.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleMaps', '8.4.0' end
नए वर्शन का पता लगाने के लिए,pod outdated
को नियमित रूप से चलाना न भूलें, ताकि यह पक्का किया जा सके कि आप हमेशा सबसे नए वर्शन का इस्तेमाल करें. अगर ज़रूरी हो, तो नए वर्शन पर अपग्रेड करें.Podfile
को सेव करें.कोई टर्मिनल खोलें और उस डायरेक्ट्री पर जाएं जिसमें
Podfile
है:cd <path-to-project>
pod install
निर्देश चलाएं. इससे,Podfile
में बताए गए एपीआई इंस्टॉल हो जाएंगे. साथ ही, उनकी डिपेंडेंसी भी इंस्टॉल हो जाएगी.pod install
Xcode को बंद करें और फिर Xcode को लॉन्च करने के लिए, अपने प्रोजेक्ट की
.xcworkspace
फ़ाइल खोलें (दो बार क्लिक करें). इसके बाद, प्रोजेक्ट खोलने के लिए आपको.xcworkspace
फ़ाइल का इस्तेमाल करना होगा.
अगर आपको किसी मौजूदा प्रोजेक्ट के लिए एपीआई अपडेट करना है, तो यह तरीका अपनाएं:
- कोई टर्मिनल खोलें और
Podfile
वाली प्रोजेक्ट डायरेक्ट्री पर जाएं. pod update
निर्देश चलाएं. इससेPodfile
में दिए गए सभी एपीआई को सबसे नए वर्शन में अपडेट कर दिया जाएगा.
मैन्युअल तरीके से इंस्टॉल करना
इस गाइड में बताया गया है कि अपने प्रोजेक्ट में, iOS के लिए Maps SDK टूल वाले XCFrameworks को मैन्युअल तरीके से कैसे जोड़ें और Xcode में बिल्ड सेटिंग कैसे कॉन्फ़िगर करें. XCFramework एक बाइनरी पैकेज होता है. इसे कई प्लैटफ़ॉर्म पर इस्तेमाल किया जा सकता है. इनमें Apple सिलिकॉन का इस्तेमाल करने वाली मशीनें भी शामिल हैं.- SDK टूल की इन बाइनरी और रिसॉर्स फ़ाइलों को डाउनलोड करें:
- XCFrameworks और संसाधनों को ऐक्सेस करने के लिए, फ़ाइलें एक्सट्रैक्ट करें.
- अगर आपके पास अब तक कोई Xcode प्रोजेक्ट नहीं है, तो अभी एक प्रोजेक्ट बनाएं और उसे अपने लोकल मशीन में
सेव करें. अगर आपने हाल ही में iOS डेवलपमेंट का इस्तेमाल करना शुरू किया है:
- कोई नया प्रोजेक्ट बनाएं.
- iOS > ऐप्लिकेशन टेंप्लेट चुनें.
- प्रोजेक्ट के विकल्पों वाली स्क्रीन पर:
- प्रोजेक्ट का नाम डालें.
- बंडल आइडेंटिफ़ायर फ़ील्ड की वैल्यू रिकॉर्ड करें. अपनी एपीआई कुंजी पर पाबंदी लगाने के लिए, नीचे दी गई वैल्यू का इस्तेमाल करें.
- प्रोजेक्ट के इंटरफ़ेस को स्टोरीबोर्ड पर सेट करें.
- Language को Swift या Objective-C पर सेट करें.
-
सामान्य टैब खोलें. फ़्रेमवर्क, लाइब्रेरी, और एम्बेड किए गए कॉन्टेंट में जाकर,
नीचे दिए गए XCFrameworks को अपने प्रोजेक्ट में खींचें और छोड़ें. पक्का करें कि
हर XCFramework के लिए एम्बेड न करें चुना गया हो:
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
-
अपने Xcode प्रोजेक्ट की टॉप लेवल डायरेक्ट्री में डाउनलोड किए गए GoogleMapsResources
से
GoogleMaps.bundle
को कॉपी करें. जब आपसे कहा जाए, तब डेस्टिनेशन ग्रुप के फ़ोल्डर में आइटम कॉपी करें को चुनना न भूलें. - प्रोजेक्ट नेविगेटर से अपना प्रोजेक्ट चुनें और ऐप्लिकेशन का टारगेट चुनें.
-
अपने ऐप्लिकेशन के टारगेट के लिए, बिल्ड के चरण टैब खोलें.
बाइनरी को लाइब्रेरी से लिंक करें में, यहां दिए गए फ़्रेमवर्क और लाइब्रेरी जोड़ें:
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
OpenGLES.framework
QuartzCore.framework
SystemConfiguration.framework
UIKit.framework
-
खास टारगेट के बजाय अपना प्रोजेक्ट चुनें और बिल्ड सेटिंग टैब खोलें. लिंक करना - सामान्य -> अन्य लिंकर फ़्लैग सेक्शन में,
-ObjC
को "डीबग" और "रिलीज़" में जोड़ें. अगर ये सेटिंग नहीं दिख रही हैं, तो बिल्ड सेटिंग बार में मौजूद फ़िल्टर को बेसिक से सभी पर सेट करें. -
iOS XCFramework के लिए जगहें SDK टूल इंस्टॉल करने के लिए, iOS के लिए Places SDK टूल का इस्तेमाल करना देखें.
Apple की निजता मेनिफ़ेस्ट फ़ाइल जोड़ें
- iOS के लिए, Maps SDK टूल का प्राइवसी मेनिफ़ेस्ट बंडल डाउनलोड करें: GoogleMapsPrivacy.
GoogleMapsPrivacy.bundle
को ऐक्सेस करने के लिए फ़ाइल निकालें.- इनमें से किसी एक तरीके का इस्तेमाल करके,
GoogleMapsPrivacy.bundle
को Xcode प्रोजेक्ट नेविगेटर में जोड़ें. पक्का करें कि आपके ऐप्लिकेशन के टारगेट के लिए, "टारगेट में जोड़ें" बॉक्स चुना गया हो. जोड़े जाने के बाद, PrivacyInfo फ़ाइल, प्रोजेक्ट नेविगेटर में दिखती है और आपके पास वैल्यू की जांच करने का विकल्प होता है. - पुष्टि करें कि आपके ऐप्लिकेशन का संग्रह बनाकर और संग्रह से निजता रिपोर्ट जनरेट करके, निजता मेनिफ़ेस्ट को जोड़ा गया हो.
तीसरा चरण: प्रोजेक्ट में एपीआई पासकोड जोड़ना
एपीआई पासकोड पाएं में, आपने अपने ऐप्लिकेशन के लिए एपीआई पासकोड जनरेट किया था. अब उस कुंजी को अपने Xcode प्रोजेक्ट में जोड़ें.
यहां दिए गए उदाहरणों में, YOUR_API_KEY
को अपनी एपीआई पासकोड से बदलें.
देखें.
Swift
अपने AppDelegate.swift
में अपनी एपीआई कुंजी इस तरह जोड़ें:
- यह इंपोर्ट स्टेटमेंट जोड़ें:
import GoogleMaps
- एपीआई पासकोड का इस्तेमाल करके, अपने
application(_:didFinishLaunchingWithOptions:)
तरीके में यह तरीका जोड़ें:GMSServices.provideAPIKey("YOUR_API_KEY")
- अगर आप भी Places API का इस्तेमाल कर रहे हैं, तो यहां बताए गए तरीके से अपना पासकोड फिर से जोड़ें:
GMSPlacesClient.provideAPIKey("YOUR_API_KEY")
Objective-C
अपने AppDelegate.m
में अपनी एपीआई कुंजी इस तरह जोड़ें:
- यह इंपोर्ट स्टेटमेंट जोड़ें:
@import GoogleMaps;
- एपीआई पासकोड का इस्तेमाल करके, अपने
application:didFinishLaunchingWithOptions:
तरीके में यह तरीका जोड़ें:[GMSServices provideAPIKey:@"YOUR_API_KEY"];
- अगर आप भी Places API का इस्तेमाल कर रहे हैं, तो यहां बताए गए तरीके से अपना पासकोड फिर से जोड़ें:
[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];
चरण 4: मैप जोड़ना
Swift
/* * Copyright 2020 Google Inc. All rights reserved. * * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this * file except in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF * ANY KIND, either express or implied. See the License for the specific language governing * permissions and limitations under the License. */ import UIKit import GoogleMaps class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. // Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. let options = GMSMapViewOptions() options.camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0) options.frame = self.view.bounds let mapView = GMSMapView(options: options) self.view.addSubview(mapView) // Creates a marker in the center of the map. let marker = GMSMarker() marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20) marker.title = "Sydney" marker.snippet = "Australia" marker.map = mapView } }
Objective-C
/* * Copyright 2020 Google Inc. All rights reserved. * * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this * file except in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF * ANY KIND, either express or implied. See the License for the specific language governing * permissions and limitations under the License. */ #import "ViewController.h" #import <GoogleMaps/GoogleMaps.h> @interface ViewController() @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. // Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:-33.8683 longitude:151.2086 zoom:6]; options.frame = self.view.bounds; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; [self.view addSubview:mapView]; // Creates a marker in the center of the map. GMSMarker *marker = [[GMSMarker alloc] init]; marker.position = CLLocationCoordinate2DMake(-33.86, 151.20); marker.title = @"Sydney"; marker.snippet = @"Australia"; marker.map = mapView; } @end
पांचवां चरण (ज़रूरी नहीं): एपीआई में इस्तेमाल की गई यूआरएल स्कीम का एलान करना
iOS 9 और Xcode 7 से, ऐप्लिकेशन उन यूआरएल स्कीम का एलान कर सकते हैं जिन्हें वे खोलना चाहते हैं. इसके लिए, वे ऐप्लिकेशन की Info.plist
फ़ाइल में स्कीम के बारे में बताते हैं. जब लोग मैप पर Google लोगो पर क्लिक करते हैं, तब iOS के लिए Maps SDK टूल, Google Maps का मोबाइल ऐप्लिकेशन खोलता है. इससे आपका ऐप्लिकेशन, यूआरएल की सही स्कीम बता सकता है.
iOS के लिए Maps SDK टूल में जिन यूआरएल स्कीम का इस्तेमाल किया जाता है उनका एलान करने के लिए, अपने Info.plist
में ये लाइनें जोड़ें:
नीचे दिया गया स्क्रीनशॉट, Xcode के यूज़र इंटरफ़ेस में कॉन्फ़िगरेशन दिखाता है:
ऊपर दिए गए एलान के बिना, जब उपयोगकर्ता मैप पर Google के लोगो पर टैप करता है, तब ये गड़बड़ियां हो सकती हैं:
-canOpenURL: URL के लिए विफल: "comgooglemaps://" - गड़बड़ी: "इस ऐप्लिकेशन को comgooglemaps की स्कीम के लिए क्वेरी करने की अनुमति नहीं है" -canOpenURL: URL के लिए विफल: "googlechromes://" - गड़बड़ी: "इस ऐप्लिकेशन को स्कीम googlechromes के लिए क्वेरी करने की अनुमति नहीं है"
इन गड़बड़ियों को ठीक करने के लिए, अपने Info.plist
में एलान वाला फ़ॉर्म जोड़ें.
आगे क्या करना है
अब आपके पास एपीआई पासकोड और Xcode प्रोजेक्ट है. इसलिए, अब ऐप्लिकेशन बनाए जा सकते हैं और उन्हें चलाया जा सकता है. iOS के लिए नेविगेशन SDK में कई ट्यूटोरियल और सैंपल ऐप्लिकेशन मौजूद हैं, जिनसे आपको शुरू करने में मदद मिल सकती है. ज़्यादा जानकारी के लिए, देखें: