बिलिंग की सुविधा चालू करने और एपीआई पासकोड बनाने के बाद, Xcode सेट अप किया जा सकता है आपके ऐप्लिकेशन को डेवलप करने के लिए इस्तेमाल किया जाता है.
रिलीज़ नोट हर एक के लिए उपलब्ध हैं रिलीज़.
पहला चरण: ज़रूरी सॉफ़्टवेयर इंस्टॉल करना
iOS के लिए Maps SDK टूल का इस्तेमाल करके प्रोजेक्ट बनाने के लिए, आपको इसे डाउनलोड और इंस्टॉल करना होगा:
- एक्सकोड 15.0 या इसके बाद के वर्शन
दूसरा चरण: Xcode प्रोजेक्ट बनाना और iOS के लिए Maps SDK टूल इंस्टॉल करना
Swift पैकेज मैनेजर
iOS के लिए Maps SDK को Swift पैकेज मैनेजर. एसडीके टूल जोड़ने के लिए, पक्का करें कि आपने iOS के लिए Maps SDK टूल की सभी मौजूदा डिपेंडेंसी हटा दी हों.
SDK टूल को किसी नए या मौजूदा प्रोजेक्ट में जोड़ने के लिए, यह तरीका अपनाएं:
-
अपना Xcode
project
याworkspace
खोलें. इसके बाद, फ़ाइल > पैकेज डिपेंडेंसी जोड़ें. - यूआरएल के तौर पर https://github.com/googlemaps/ios-maps-sdk डालें और Enter दबाएं पैकेज खोलने के लिए, और "पैकेज जोड़ें" पर क्लिक करें.
-
किसी खास
version
को इंस्टॉल करने के लिए, डिपेंडेंसी नियम फ़ील्ड को वर्शन पर आधारित विकल्पों में से किसी एक पर सेट करें. नए प्रोजेक्ट के लिए, हमारा सुझाव है कि आप सबसे नया वर्शन और सटीक वर्शन का इस्तेमाल करके का विकल्प शामिल है. यह प्रोसेस पूरी होने के बाद, "Add Package" पर क्लिक करें. -
पैकेज के प्रॉडक्ट चुनें विंडो में, पुष्टि करें
GoogleMaps
(9.0.0 से पहले के वर्शन के लिए, पुष्टि करेंGoogleMaps
,GoogleMapsBase
, औरGoogleMapsCore
) को आपके तय किए गएmain
टारगेट में जोड़ दिया जाएगा. यह प्रोसेस पूरी होने के बाद, "Add Package" पर क्लिक करें. -
इंस्टॉलेशन की पुष्टि करने के लिए, अपने टारगेट के
General
पैनल पर जाएं. फ़्रेमवर्क, लाइब्रेरी, और एम्बेड किया गया कॉन्टेंट में, आपको इंस्टॉल किए गए पैकेज दिखेंगे. "पैकेज डिपेंडेंसी" भी देखी जा सकती है "प्रोजेक्ट नेविगेटर" का सेक्शन की पुष्टि करें.
अगर आपको किसी मौजूदा प्रोजेक्ट के लिए package
को अपडेट करना है, तो यह तरीका अपनाएं:
अगर आप 9.0.0 से पहले के वर्शन से अपग्रेड कर रहे हैं, तो आपको ये डिपेंडेंसी:
GoogleMapsBase
,GoogleMapsCore
, और अपग्रेड करने के बाद,GoogleMapsM4B
देने होंगे. इसके लिए डिपेंडेंसी न हटाएंGoogleMaps
. ज़्यादा जानकारी के लिए, देखें वर्शन 9.0.0 के बारे में जानकारी.अपने Xcode प्रोजेक्ट की कॉन्फ़िगरेशन सेटिंग में जाकर, Frameworks, Libraries, और एम्बेड किया गया कॉन्टेंट शामिल है. नीचे दिए गए फ़्रेमवर्क को हटाने के लिए, माइनस साइन(-) का इस्तेमाल करें:
GoogleMapsBase
(सिर्फ़ 9.0.0 से पहले के वर्शन से अपग्रेड करने के लिए)GoogleMapsCore
(सिर्फ़ 9.0.0 से पहले के वर्शन से अपग्रेड करने के लिए)GoogleMapsM4B
(सिर्फ़ 9.0.0 से पहले के वर्शन से अपग्रेड करने के लिए)
- Xcode में, "फ़ाइल > पैकेज > पैकेज के नए वर्शन पर अपडेट करें" पर जाएं.
- इंस्टॉल किए जाने की पुष्टि के लिए, Project Navigator के पैकेज डिपेंडेंसी सेक्शन पर जाएं की पुष्टि करें.
इनका इस्तेमाल करके जोड़ी गई iOS डिपेंडेंसी के लिए, Maps SDK टूल का मौजूदा वर्शन हटाने के लिए
CocoaPods
, यह तरीका अपनाएं:
- अपना Xcode फ़ाइल फ़ोल्डर बंद करें. टर्मिनल खोलें और यह कमांड चलाएं:
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
-
Podfile
,Podfile.resolved
, और अगर CocoaPods के अलावा, किसी और चीज़ के लिए उनका इस्तेमाल नहीं किया जा रहा है, तो Xcodeworkspace
.
-
अपने Xcode प्रोजेक्ट की कॉन्फ़िगरेशन सेटिंग में जाकर, Frameworks, Libraries,
और एम्बेड किया गया कॉन्टेंट शामिल है. नीचे दिए गए फ़्रेमवर्क को हटाने के लिए, माइनस साइन(-) का इस्तेमाल करें:
GoogleMaps
GoogleMapsBase
(सिर्फ़ इंस्टॉलेशन के लिए वर्शन 9.0.0 से पहले का है)GoogleMapsCore
(सिर्फ़ इंस्टॉलेशन के लिए वर्शन 9.0.0 से पहले का है)GoogleMapsM4B
(सिर्फ़ इंस्टॉलेशन के लिए वर्शन 9.0.0 से पहले का है)
-
अपने 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 > ऐप्लिकेशन टेंप्लेट के बारे में ज़्यादा जानें.
- प्रोजेक्ट विकल्प स्क्रीन पर:
- प्रोजेक्ट का नाम डालें.
- बंडल आइडेंटिफ़ायर फ़ील्ड की वैल्यू रिकॉर्ड करें. इस वैल्यू का इस्तेमाल करके, अपनी एपीआई कुंजी पर पाबंदी लगाई जा सकती है.
- प्रोजेक्ट के इंटरफ़ेस को स्टोरीबोर्ड पर सेट करें.
- भाषा को Swift या Objective-C पर सेट करें.
- अपनी प्रोजेक्ट डायरेक्ट्री में
Podfile
नाम की फ़ाइल बनाएं. यह फ़ाइल आपके प्रोजेक्ट की डिपेंडेंसी के बारे में बताती है. Podfile
में बदलाव करें और अपनी डिपेंडेंसी के साथ उनकी वैल्यू जोड़ें वर्शन. यहां एक उदाहरण दिया गया है, जिसमें 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
में बताए गए सभी एपीआई, नए वर्शन पर अपडेट हो जाएंगे.
मैन्युअल इंस्टॉलेशन
इस गाइड में, अपने प्रोजेक्ट में Maps SDK for iOS वाले XCFrameworks को मैन्युअल तरीके से जोड़ने और Xcode में अपनी बिल्ड सेटिंग को कॉन्फ़िगर करने का तरीका बताया गया है. XCFramework एक बाइनरी पैकेज होता है, जिसे कई प्लैटफ़ॉर्म पर इस्तेमाल किया जा सकता है. इनमें Apple सिलिकॉन का इस्तेमाल करने वाली मशीनें भी शामिल हैं.- इन SDK बाइनरी और संसाधन फ़ाइलों को डाउनलोड करें:
- XCFrameworks और संसाधनों को ऐक्सेस करने के लिए, फ़ाइलें एक्सट्रैक्ट करें.
- अगर आपके पास अभी तक कोई Xcode प्रोजेक्ट नहीं है, तो अभी एक प्रोजेक्ट बनाएं और उसे यहां सेव करें
मशीन ट्रांसफ़र किया जा सकता है. अगर आपने iOS ऐप्लिकेशन डेवलपमेंट की शुरुआत अभी-अभी की है, तो:
- नया प्रोजेक्ट बनाएं.
- iOS > ऐप्लिकेशन टेंप्लेट के बारे में ज़्यादा जानें.
- प्रोजेक्ट विकल्प स्क्रीन पर:
- प्रोजेक्ट का नाम डालें.
- बंडल आइडेंटिफ़ायर फ़ील्ड की वैल्यू रिकॉर्ड करें. इस वैल्यू का इस्तेमाल करके, अपनी एपीआई कुंजी पर पाबंदी लगाई जा सकती है.
- प्रोजेक्ट के इंटरफ़ेस को स्टोरीबोर्ड पर सेट करें.
- भाषा को Swift या Objective-C पर सेट करें.
-
General टैब खोलें. इन XCFrameworks को अपने प्रोजेक्ट में खींचें और छोड़ें
फ़्रेमवर्क, लाइब्रेरी, और एम्बेड किए गए कॉन्टेंट के तहत उपलब्ध हैं. पक्का करें कि
हर XCFramework के लिए Do Not Embed चुनने के लिए:
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
-
GoogleMapsResources से
GoogleMaps.bundle
कॉपी करें आपने अपने Xcode प्रोजेक्ट की टॉप लेवल डायरेक्ट्री में डाउनलोड किया है. जब कहा जाए, तो आइटम को डेस्टिनेशन ग्रुप के फ़ोल्डर में कॉपी करें को चुनना न भूलें. - Project Navigator से प्रोजेक्ट चुनें और का लक्ष्य तय करना.
-
अपने ऐप्लिकेशन के टारगेट के लिए, चरण बनाएं टैब खोलें.
बाइनरी को लाइब्रेरी से लिंक करें में, यह जानकारी जोड़ें
फ़्रेमवर्क और लाइब्रेरी:
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
(सिर्फ़ तब, जब OpenGL का इस्तेमाल किया जा रहा हो)QuartzCore.framework
SystemConfiguration.framework
UIKit.framework
-
किसी खास टारगेट के बजाय, अपना प्रोजेक्ट चुनें और बिल्ड सेटिंग टैब खोलें. लिंक करना - सामान्य -> लिंकर के अन्य फ़्लैग सेक्शन में, "डीबग" और "रिलीज़" में
-ObjC
जोड़ें. अगर ये सेटिंग नहीं दिख रही हैं, बिल्ड सेटिंग बार में फ़िल्टर बदलें सामान्य से सभी पर सेट करें. -
iOS XCFramework के लिए Places SDK टूल इंस्टॉल करने के लिए, शुरू करना साथ ही, iOS के लिए Places SDK टूल की मदद ली जा सकती है.
तीसरा चरण: Apple Privacy मेनिफ़ेस्ट फ़ाइल की जांच करना
Apple को App Store पर मौजूद ऐप्लिकेशन के लिए, ऐप्लिकेशन की निजता से जुड़ी जानकारी की ज़रूरत होती है. अपडेट और ज़्यादा जानकारी के लिए, Apple App Store के निजता से जुड़ी जानकारी वाले पेज पर जाएं.
Apple Privacy मेनिफ़ेस्ट फ़ाइल, SDK टूल के लिए संसाधनों के बंडल में शामिल होती है. यह पुष्टि करने के लिए कि निजता मेनिफ़ेस्ट फ़ाइल शामिल की गई है और इसके कॉन्टेंट की जांच करने के लिए, अपने ऐप्लिकेशन का संग्रह बनाएं और संग्रह से निजता रिपोर्ट जनरेट करें.
चौथा चरण: प्रोजेक्ट में एपीआई पासकोड जोड़ना
एपीआई पासकोड पाएं में, आपको ने आपके ऐप्लिकेशन के लिए एपीआई पासकोड जनरेट किया है. अब उस कुंजी को अपने 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"];
पांचवां चरण: मैप जोड़ना
Swift
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
#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
फ़ाइल में स्कीम तय करके, उसे खोलने का इरादा रखते हैं. कॉन्टेंट बनाने
iOS के लिए Maps SDK टूल, उपयोगकर्ता के क्लिक करने पर Google Maps मोबाइल ऐप्लिकेशन खोलता है
मैप पर Google लोगो दिखता है. इसलिए, आपका ऐप्लिकेशन सही यूआरएल का एलान कर सकता है
स्कीम चुनें.
iOS के लिए Maps SDK टूल की ओर से इस्तेमाल की गई यूआरएल स्कीम के बारे में बताने के लिए,
आपके Info.plist
के लिए ये लाइनें:
नीचे दिया गया स्क्रीनशॉट, Xcode यूज़र इंटरफ़ेस में कॉन्फ़िगरेशन दिखाता है:
ऊपर दिए गए एलान के बिना, जब उपयोगकर्ता मैप पर Google के लोगो पर टैप करता है, तो ये गड़बड़ियां हो सकती हैं:
- -canOpenURL: इस यूआरएल के लिए विफल: "comgooglemaps://" - गड़बड़ी: "यह ऐप्लिकेशन स्कीम comgooglemaps के लिए क्वेरी करने की अनुमति है"
- -canOpenURL: इस यूआरएल के लिए विफल: "googlechromes://" - गड़बड़ी: "यह ऐप्लिकेशन googlechrome स्कीम के लिए क्वेरी करने की अनुमति है"
इन गड़बड़ियों को खत्म करने के लिए, अपने Info.plist
में एलान जोड़ें.
आगे क्या करना है
अब आपके पास एपीआई पासकोड और Xcode प्रोजेक्ट मौजूद है. इसलिए, ऐप्लिकेशन बनाए जा सकते हैं और उन्हें चलाया जा सकता है. iOS के लिए नेविगेशन SDK टूल, कई ट्यूटोरियल और सैंपल ऐप्लिकेशन उपलब्ध कराता है. इनसे आपको मदद मिल सकती है 'शुरू करें'. ज़्यादा जानकारी के लिए, यह देखें: