बिलिंग की सुविधा चालू करने और एपीआई पासकोड बनाने के बाद, वह Xcode प्रोजेक्ट सेट अप किया जा सकता है जिसका इस्तेमाल ऐप्लिकेशन डेवलप करने के लिए किया जाता है.
रिलीज़ नोट हर रिलीज़ के लिए उपलब्ध हैं.
पहला चरण: ज़रूरी सॉफ़्टवेयर इंस्टॉल करें
iOS के लिए स्थल 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 और संसाधनों को ऐक्सेस करने के लिए, ज़िप की गई फ़ाइलों को अनपैक करें.
- Xcode लॉन्च करें और कोई मौजूदा प्रोजेक्ट खोलें या कोई नया प्रोजेक्ट बनाएं. अगर आपने इससे पहले iOS ऐप्लिकेशन इस्तेमाल किया है, तो एक नया प्रोजेक्ट बनाएं और iOS ऐप्लिकेशन टेंप्लेट चुनें.
- अपने प्रोजेक्ट से पिछली रिलीज़ में मौजूद Maps बंडल हटाएं.
- नीचे दिए गए XCFramework को अपने प्रोजेक्ट में,
फ़्रेमवर्क, लाइब्रेरी, और एम्बेड किए गए कॉन्टेंट में खींचें और छोड़ें. पक्का करें कि
एम्बेड न करें को चुना गया हो:
GooglePlaces.xcframework
- अपने Xcode प्रोजेक्ट की टॉप लेवल डायरेक्ट्री में, डाउनलोड किए गए GooglePlacesResources से
GooglePlaces.bundle
को खींचें और छोड़ें. जब कहा जाए, तब पक्का करें कि आइटम को डेस्टिनेशन ग्रुप के फ़ोल्डर में कॉपी करें चुना हुआ हो. - प्रोजेक्ट नेविगेटर से अपना प्रोजेक्ट चुनें और ऐप्लिकेशन का टारगेट चुनें.
- बिल्ड चरण टैब खोलें और बाइनरी को लाइब्रेरी से लिंक करें सेक्शन में जाएं. इसके बाद, नीचे दिए गए फ़्रेमवर्क और लाइब्रेरी जोड़ें:
CoreGraphics.framework
CoreLocation.framework
libc++.tbd
libz.tbd
QuartzCore.framework
UIKit.framework
किसी खास टारगेट के बजाय, अपना प्रोजेक्ट चुनें. इसके बाद, बिल्ड सेटिंग टैब खोलें.
- लिंकर से जुड़े अन्य फ़्लैग सेक्शन में,
-ObjC
जोड़ें. अगर ये सेटिंग नहीं दिख रही हैं, तो बिल्ड सेटिंग बार में मौजूद फ़िल्टर को बेसिक से सभी पर सेट करें. - यह इंपोर्ट स्टेटमेंट जोड़ें:
import GooglePlaces
- अपने
application(_:didFinishLaunchingWithOptions:)
तरीके में यह जोड़ें, YOUR_API_KEY को अपनी एपीआई कुंजी से बदलें:GMSPlacesClient.provideAPIKey("YOUR_API_KEY")
- यह इंपोर्ट स्टेटमेंट जोड़ें:
@import GooglePlaces;
- अपने
application:didFinishLaunchingWithOptions:
तरीके में यह जोड़ें, YOUR_API_KEY को अपनी एपीआई कुंजी से बदलें:[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];
दूसरा चरण: Xcode प्रोजेक्ट बनाना और iOS के लिए जगहें 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 इंस्टॉल करना होगा.