बिलिंग की सुविधा चालू करने और एपीआई पासकोड बनाने के बाद, वह Xcode प्रोजेक्ट सेट अप किया जा सकता है जिसका इस्तेमाल अपना ऐप्लिकेशन डेवलप करने के लिए किया जाता है.
रिलीज़ नोट हर रिलीज़ के लिए उपलब्ध हैं.
पहला चरण: ज़रूरी सॉफ़्टवेयर इंस्टॉल करें
iOS के लिए Places SDK टूल का इस्तेमाल करके प्रोजेक्ट बनाने के लिए, आपको इनकी ज़रूरत होगी:
- Xcode वर्शन 14.0 या इसके बाद का वर्शन
- Cocoapods
- अगर आपके पास अब तक कोई Xcode प्रोजेक्ट नहीं है, तो अभी एक प्रोजेक्ट बनाएं और उसे अपनी लोकल मशीन में सेव करें. अगर आपने iOS डेवलपमेंट का इस्तेमाल पहले कभी नहीं किया है, तो एक नया प्रोजेक्ट बनाएं और iOS ऐप्लिकेशन का टेंप्लेट चुनें.
- अपनी प्रोजेक्ट डायरेक्ट्री में
Podfile
नाम की फ़ाइल बनाएं. इस फ़ाइल से, आपके प्रोजेक्ट की डिपेंडेंसी के बारे में पता चलता है. Podfile
में बदलाव करें और उनके versions के साथ अपनी डिपेंडेंसी जोड़ें. यहां एक उदाहरण दिया गया है, जिससे आपके ऐप्लिकेशन टारगेट के नाम औरGooglePlaces
पॉड के नाम की जानकारी मिलती है:source 'https://github.com/CocoaPods/Specs.git' platform :ios, '14.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GooglePlaces', '8.3.0' end
pod outdated
को नियमित तौर पर चलाना न भूलें, ताकि यह पता चल सके कि नया वर्शन कब उपलब्ध है. इससे यह पक्का किया जा सकेगा कि आपके पास हमेशा नया वर्शन रहेगा.Podfile
को सेव करें.कोई टर्मिनल खोलें और उस डायरेक्ट्री पर जाएं जिसमें
Podfile
है:cd <path-to-project>
pod install
निर्देश चलाएं. इससे,Podfile
में बताए गए एपीआई और सभी डिपेंडेंसी इंस्टॉल हो जाएंगी.pod install
Xcode को बंद करें और फिर Xcode को लॉन्च करने के लिए, अपने प्रोजेक्ट की
.xcworkspace
फ़ाइल खोलें (दो बार क्लिक करें). अब से, प्रोजेक्ट खोलने के लिए, आपको.xcworkspace
फ़ाइल का इस्तेमाल करना होगा.- कोई टर्मिनल खोलें और
Podfile
वाली प्रोजेक्ट डायरेक्ट्री पर जाएं. pod update
निर्देश चलाएं. इससेPodfile
में बताए गए सभी एपीआई नए वर्शन में अपडेट हो जाएंगे.- SDK टूल की बाइनरी और रिसॉर्स फ़ाइलें डाउनलोड करें:
- XCFramework और संसाधनों को ऐक्सेस करने के लिए, zip की गई फ़ाइलों को अनपैक करें.
- Xcode लॉन्च करें और किसी मौजूदा प्रोजेक्ट को खोलें या कोई नया प्रोजेक्ट बनाएं. अगर आपने iOS डेवलपमेंट का इस्तेमाल पहले कभी नहीं किया है, तो एक नया प्रोजेक्ट बनाएं और iOS ऐप्लिकेशन का टेंप्लेट चुनें.
- अपने प्रोजेक्ट से पिछली रिलीज़ में से किसी भी Maps बंडल को हटाएं.
- नीचे दिए गए XCFramework को अपने प्रोजेक्ट में,
फ़्रेमवर्क, लाइब्रेरी, और एम्बेड किए गए कॉन्टेंट में खींचें और छोड़ें. पक्का करें कि
आपने एम्बेड न करें को चुना हो:
GooglePlaces.xcframework
- डाउनलोड किए गए GooglePlacesResources से
GooglePlaces.bundle
को अपने Xcode प्रोजेक्ट की टॉप लेवल डायरेक्ट्री में खींचें और छोड़ें. जब कहा जाए, तब पक्का करें कि आइटम को डेस्टिनेशन ग्रुप के फ़ोल्डर में कॉपी करें चुना गया हो. - प्रोजेक्ट नेविगेटर से अपना प्रोजेक्ट चुनें और अपने ऐप्लिकेशन का टारगेट चुनें.
- बिल्ड फ़ेज़ टैब खोलें और बाइनरी को लाइब्रेरी से लिंक करें सेक्शन में जाएं. इसके बाद, नीचे दिए गए फ़्रेमवर्क और लाइब्रेरी जोड़ें:
CoreGraphics.framework
CoreLocation.framework
libc++.tbd
libz.tbd
QuartzCore.framework
UIKit.framework
किसी खास टारगेट के बजाय अपना प्रोजेक्ट चुनें और बिल्ड सेटिंग टैब खोलें.
- लिंक करने वाले अन्य फ़्लैग सेक्शन में,
-ObjC
जोड़ें. अगर ये सेटिंग नहीं दिख रही हैं, तो बिल्ड सेटिंग बार में फ़िल्टर को बुनियादी से सभी में बदलें. - यह इंपोर्ट स्टेटमेंट जोड़ें:
import GooglePlaces
- YOUR_API_KEY की जगह अपने एपीआई पासकोड को इस्तेमाल करने के लिए,
application(_:didFinishLaunchingWithOptions:)
तरीके में यह तरीका जोड़ें:GMSPlacesClient.provideAPIKey("YOUR_API_KEY")
- यह इंपोर्ट स्टेटमेंट जोड़ें:
@import GooglePlaces;
- YOUR_API_KEY की जगह अपने एपीआई पासकोड को इस्तेमाल करने के लिए,
application:didFinishLaunchingWithOptions:
तरीके में यह तरीका जोड़ें:[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];
दूसरा चरण: Xcode प्रोजेक्ट बनाना और iOS के लिए Places SDK टूल इंस्टॉल करना
इस एपीआई को किसी नए प्रोजेक्ट में इंस्टॉल करने के लिए, यह तरीका अपनाएं:Cocoapods का इस्तेमाल करें
iOS के लिए Places SDK टूल, CocoaPod पॉड, GooglePlaces के तौर पर उपलब्ध है. इसमें सभी जगहों से जुड़ी सुविधा शामिल है.
CocoaPods, Swift और Objective-C Cocoa प्रोजेक्ट के लिए, ओपन सोर्स डिपेंडेंसी मैनेजर है. अगर आपके पास पहले से CocoaPods टूल नहीं है, तो इसे macOS पर इंस्टॉल करने के लिए, टर्मिनल से नीचे दिए गए निर्देश का इस्तेमाल करें. ज़्यादा जानकारी के लिए, CocoaPods के शुरुआती निर्देश देखें.
sudo gem install cocoapods
iOS के लिए Places SDK टूल के लिए एक Podfile
बनाएं. इसके बाद,
SDK टूल और इसकी डिपेंडेंसी के लिए इसका इस्तेमाल करें:
किसी मौजूदा प्रोजेक्ट के एपीआई को अपडेट करने के लिए, यह तरीका अपनाएं:
मैन्युअल तरीके से इंस्टॉल करें
इस गाइड में, iOS के लिए Places SDK टूल वाले XCFramework को मैन्युअल तरीके से जोड़ने का तरीका बताया गया है. साथ ही, Xcode में बिल्ड सेटिंग कॉन्फ़िगर करने का तरीका भी बताया गया है. XCFramework एक बाइनरी पैकेज है, जिसे कई प्लैटफ़ॉर्म पर इस्तेमाल किया जा सकता है. इनमें Apple silicon का इस्तेमाल करने वाली मशीनें भी शामिल हैं.
तीसरा चरण: अपने ऐप्लिकेशन में एपीआई पासकोड जोड़ना
यहां दिए गए उदाहरणों में, YOUR_API_KEY
को अपने एपीआई पासकोड से बदलें.
Swift
अपने एपीआई पासकोड को AppDelegate.swift
में इस तरह जोड़ें:
Objective-C
अपने एपीआई पासकोड को AppDelegate.m
में इस तरह जोड़ें:
चौथा चरण: कोड लिखना शुरू करें
नीचे दिए गए कोड सैंपल से पता चलता है कि मौजूदा जगह की जानकारी कैसे हासिल की जाती है.
Swift
import GooglePlaces import UIKit class GetStartedViewController : UIViewController { // Add a pair of UILabels in Interface Builder, and connect the outlets to these variables. @IBOutlet private var nameLabel: UILabel! @IBOutlet private var addressLabel: UILabel! private var placesClient: GMSPlacesClient! override func viewDidLoad() { super.viewDidLoad() placesClient = GMSPlacesClient.shared() } // Add a UIButton in Interface Builder, and connect the action to this function. @IBAction func getCurrentPlace(_ sender: UIButton) { let placeFields: GMSPlaceField = [.name, .formattedAddress] placesClient.findPlaceLikelihoodsFromCurrentLocation(withPlaceFields: placeFields) { [weak self] (placeLikelihoods, error) in guard let strongSelf = self else { return } guard error == nil else { print("Current place error: \(error?.localizedDescription ?? "")") return } guard let place = placeLikelihoods?.first?.place else { strongSelf.nameLabel.text = "No current place" strongSelf.addressLabel.text = "" return } strongSelf.nameLabel.text = place.name strongSelf.addressLabel.text = place.formattedAddress } } }
Objective-C
#import "GetStartedViewController.h" @import GooglePlaces; @interface GetStartedViewController () // Add a pair of UILabels in Interface Builder and connect the outlets to these variables @property (weak, nonatomic) IBOutlet UILabel *nameLabel; @property (weak, nonatomic) IBOutlet UILabel *addressLabel; @end @implementation GetStartedViewController { GMSPlacesClient *_placesClient; } - (void)viewDidLoad { [super viewDidLoad]; _placesClient = [GMSPlacesClient sharedClient]; } // Add a pair of UILabels in Interface Builder and connect the outlets to these variables. - (IBAction)getCurrentPlace:(UIButton *)sender { GMSPlaceField placeFields = (GMSPlaceFieldName | GMSPlaceFieldFormattedAddress); __weak typeof(self) weakSelf = self; [_placesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:placeFields callback:^(NSArray<GMSPlaceLikelihood *> * _Nullable likelihoods, NSError * _Nullable error) { __typeof__(self) strongSelf = weakSelf; if (strongSelf == nil) { return; } if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } GMSPlace *place = likelihoods.firstObject.place; if (place == nil) { strongSelf.nameLabel.text = @"No current place"; strongSelf.addressLabel.text = @""; return; } strongSelf.nameLabel.text = place.name; strongSelf.addressLabel.text = place.formattedAddress; }]; } @end
अगले चरण
प्रोजेक्ट कॉन्फ़िगर होने के बाद, ऐप्लिकेशन के नमूने एक्सप्लोर किए जा सकते हैं. आपको Cocoapods v1.6.1 इंस्टॉल करना होगा.