Ikuti langkah-langkah dalam panduan ini untuk mendownload Places SDK for iOS, menambahkan library dan dependensinya ke aplikasi Anda, dan mendapatkan kunci API tanpa biaya.
Catatan rilis tersedia untuk setiap rilis.
Langkah 1: Dapatkan Xcode versi terbaru
Untuk membuat project menggunakan Places SDK for iOS, Anda memerlukan:
Langkah 2: Instal SDK
Untuk menginstal API di project baru, ikuti langkah-langkah berikut:Gunakan Cocoapods
Places SDK for iOS tersedia sebagai pod CocoaPod, GooglePlaces, yang berisi semua fungsi tempat.
CocoaPods merupakan pengelola dependensi open source untuk proyek Swift dan Objective-C Cocoa. Jika Anda belum memiliki alat CocoaPods, instal di macOS dengan menjalankan perintah berikut dari terminal. Untuk mengetahui detailnya, lihat Panduan Memulai CocoaPods.
sudo gem install cocoapods
Buat Podfile
untuk Places SDK for iOS dan gunakan untuk menginstal SDK serta dependensinya:
- Jika Anda belum memiliki project Xcode, buatlah sekarang dan simpan ke komputer lokal Anda. Jika Anda baru menggunakan pengembangan iOS, buat project baru dan pilih iOS App template.
- Buat file bernama
Podfile
dalam direktori project Anda. File ini mendefinisikan dependensi project Anda. - Edit
Podfile
dan tambahkan dependensi Anda bersama dengan versinya. Berikut adalah contoh yang menentukan nama target aplikasi Anda, dan nama podGooglePlaces
:source 'https://github.com/CocoaPods/Specs.git' platform :ios, '13.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GooglePlaces', '7.4.0' end
Pastikan Anda menjalankanpod outdated
secara rutin untuk mendeteksi saat ada versi yang lebih baru untuk memastikan Anda selalu menggunakan versi terbaru. - Simpan
Podfile
. Buka terminal dan pilih direktori yang berisi
Podfile
:cd <path-to-project>
Jalankan perintah
pod install
. Ini akan menginstal API yang ditentukan diPodfile
, beserta dependensi yang mungkin dimiliki.pod install
Tutup Xcode, lalu buka (klik dua kali) file
.xcworkspace
project Anda untuk meluncurkan Xcode. Mulai saat ini dan seterusnya, Anda harus menggunakan file.xcworkspace
untuk membuka project.
Untuk mengupdate API untuk project yang ada, ikuti langkah-langkah berikut:
- Buka terminal dan buka direktori project yang berisi
Podfile
. - Jalankan perintah
pod update
. Ini akan mengupdate semua API yang ditentukan dalamPodfile
ke versi terbaru.
Gunakan Carthage
Places SDK for iOS tersedia untuk digunakan dengan Carthage, pengelola dependensi sederhana dan terdesentralisasi untuk project Swift dan Objective-C Cocoa.
- Instal Carthage. Ada beberapa metode, jadi lihat file README Carthage untuk mengetahui langkah-langkah yang tepat.
- Jika Anda belum memiliki project Xcode, buatlah sekarang dan simpan ke komputer lokal Anda. Jika Anda baru menggunakan pengembangan iOS, buat project baru dan pilih iOS App template.
- Buat file bernama
Cartfile
dalam direktori project Anda. File ini mendefinisikan dependensi project Anda. - Edit
Cartfile
dan tambahkan dependensi Anda bersama dengan versinya:
binary "https://dl.google.com/geosdk/GooglePlaces.json" == 6.2.1
Pastikan untuk menjalankancarthage outdated
secara teratur untuk mendeteksi saat ada versi yang lebih baru untuk memastikan Anda selalu menggunakan versi terbaru. - Simpan
Cartfile
. - Di jendela terminal, buka direktori yang berisi
Cartfile
:
cd <path-to-project>
- Jalankan perintah
carthage update
. Ini akan menginstal API yang ditentukan diCartfile
, beserta dependensi yang mungkin dimiliki. - Di Finder, dalam direktori project Anda, buka file framework yang didownload di bagian
Carthage/Build/iOS
. - Tarik paket berikut ke project Anda (saat diminta, pilih
Copy items if needed):
GooglePlaces-x.x.x/Frameworks/GooglePlaces.xcframework
- Klik kanan
GooglePlaces.xcframework
di project Anda, dan pilih Show in Finder. - Tarik
GooglePlaces.bundle
dari folderResources
ke project Anda. Jika diminta, pastikan Copy items into destination group's folder tidak dipilih. - Pilih project Anda dari Navigator Project, lalu pilih sasaran aplikasi Anda.
- Buka tab Build Phases, dan di dalam Link Binary with
Libraries, tambahkan framework dan library berikut:
CoreGraphics.framework
CoreLocation.framework
libc++.tbd
libz.tbd
QuartzCore.framework
UIKit.framework
Pilih project Anda, bukan target tertentu, dan buka tab Build Settings.
- Di bagian Other Linker Flags, tambahkan
-ObjC
. Jika setelan ini tidak terlihat, ubah filter di panel Build Settings dari Basic ke All.
Untuk mengupdate API untuk project yang ada, ikuti langkah-langkah berikut:
- Buka terminal dan buka direktori project yang berisi
Cartfile
. - Jalankan perintah
carthage update
. Tindakan ini akan memperbarui semua API yang ditentukan dalamCartfile
ke versi terbaru.
Menginstal secara manual
Panduan ini menunjukkan cara menambahkan framework Google Places secara manual ke project Anda dan mengonfigurasi setelan build di Xcode.
- Download file sumber SDK: GooglePlaces-7.4.0
- Buka ekstensi file sumber.
- Luncurkan Xcode dan buka project yang ada, atau buat project baru. Jika Anda baru mengenal pengembangan iOS, buat project baru dan pilih iOS App template.
- Buang semua bundel Maps rilis sebelumnya dari proyek Anda.
- Tarik paket berikut ke project Anda (saat diminta, pilih
Copy items if needed):
GooglePlaces-x.x.x/Frameworks/GooglePlaces.xcframework
- Klik kanan
GooglePlaces.xcframework
di project Anda, dan pilih Show in Finder. - Tarik
GooglePlaces.bundle
dari folderResources
ke project Anda. Jika diminta, pastikan Copy items into destination group's folder tidak dipilih. - Pilih project Anda dari Navigator Project, lalu pilih sasaran aplikasi Anda.
- Buka tab Build Phases, dan di dalam Link Binary with
Libraries, tambahkan framework dan library berikut:
CoreGraphics.framework
CoreLocation.framework
libc++.tbd
libz.tbd
QuartzCore.framework
UIKit.framework
Pilih project Anda, bukan target tertentu, dan buka tab Build Settings.
- Di bagian Other Linker Flags, tambahkan
-ObjC
. Jika setelan ini tidak terlihat, ubah filter di panel Build Settings dari Basic ke All.
Menginstal XCFramework
XCFramework adalah paket biner yang dapat Anda gunakan di beberapa platform, termasuk mesin yang menggunakan chipset M1, untuk menginstal Places SDK for iOS. Panduan ini menunjukkan cara menambahkan XCFramework yang berisi Places SDK for iOS ke project Anda dan mengonfigurasi setelan build di Xcode.
Dengan Carthage
Places SDK for iOS tersedia untuk digunakan dengan Carthage, pengelola dependensi sederhana dan terdesentralisasi untuk project Swift dan Objective-C Cocoa.
- Instal Carthage. Ada beberapa metode, jadi lihat file README Carthage untuk mengetahui langkah-langkah yang tepat.
- Jika Anda belum memiliki project Xcode, buat sekarang dan simpan ke mesin lokal Anda. Jika Anda baru menggunakan pengembangan iOS, buat project baru dan pilih iOS App template.
- Buat file bernama
Cartfile
dalam direktori project Anda. File ini menentukan dependensi project Anda. Edit
Cartfile
dan tambahkan dependensi Anda bersama dengan versinya:binary "https://dl.google.com/geosdk/GooglePlaces.json" == 6.2.1-beta
- Simpan
Cartfile
. Di jendela terminal, buka direktori yang berisi
Cartfile
:cd <path-to-project>
- Jalankan perintah
carthage update
. Tindakan ini akan menginstal API yang ditentukan dalamCartfile
, beserta dependensi yang mungkin dimilikinya. - Di Finder, dalam direktori project Anda, buka file framework yang didownload di bagian
Carthage/Build
. - Tarik XCFramework berikut ke dalam project Anda di bagian Frameworks, Libraries, and Embedded Content. Pastikan
memilih Do Embed:
GooglePlaces-x.x.x/GooglePlaces.xcframework
- Klik kanan
GooglePlaces.xcframework
di project Anda, dan pilih Show In Finder. - Tarik
GooglePlaces.bundle
dari folderios-arm64/GooglePlaces.framework/Resources
ke direktori level teratas project Xcode Anda. Saat diminta, pastikan Salin item ke folder grup tujuan tidak dipilih. - Pilih project Anda dari Navigator Project, lalu pilih target aplikasi Anda.
- Buka tab Build Phases, dan di dalam Link Binary with
Libraries, lalu tambahkan framework dan library berikut:
CoreGraphics.framework
CoreLocation.framework
libc++.tbd
libz.tbd
QuartzCore.framework
UIKit.framework
Pilih project Anda, bukan target tertentu, dan buka tab Build Settings.
- Di bagian Other Linker Flags, tambahkan
-ObjC
. Jika setelan ini tidak terlihat, ubah filter di panel Build Settings dari Basic ke All.
Secara manual
Panduan ini menunjukkan cara menambahkan Maps SDK for iOS secara manual ke project Anda dan mengonfigurasi setelan build di Xcode.
- Download file sumber SDK: GooglePlaces-7.4.0.
- Buka ekstensi file sumber. Buka folder Frameworks untuk mengakses XCFramework.
- Luncurkan Xcode dan buka project yang ada, atau buat project baru. Jika Anda baru menggunakan iOS, buat project baru dan pilih Template Aplikasi iOS.
- Tarik XCFramework berikut ke dalam project Anda di bagian Frameworks, Libraries, and Embedded Content. Pastikan
memilih Do Embed:
GooglePlaces-x.x.x/GooglePlaces.xcframework
- Klik kanan
GooglePlaces.xcframework
di project Anda, dan pilih Show In Finder. - Tarik
GooglePlaces.bundle
dari folderios-arm64/GooglePlaces.framework/Resources
ke direktori level teratas project Xcode Anda. Saat diminta, pastikan Salin item ke folder grup tujuan tidak dipilih. - Pilih project Anda dari Navigator Project, lalu pilih target aplikasi Anda.
- Buka tab Build Phases, dan di dalam Link Binary with
Libraries, lalu tambahkan framework dan library berikut:
CoreGraphics.framework
CoreLocation.framework
libc++.tbd
libz.tbd
QuartzCore.framework
UIKit.framework
Pilih project Anda, bukan target tertentu, dan buka tab Build Settings.
- Di bagian Other Linker Flags, tambahkan
-ObjC
. Jika setelan ini tidak terlihat, ubah filter di panel Build Settings dari Basic ke All.
Langkah 3: Tambahkan kunci API ke aplikasi
Pada contoh berikut, ganti YOUR_API_KEY
dengan kunci API Anda.
Swift
Tambahkan kunci API ke AppDelegate.swift
sebagai berikut:
- Tambahkan pernyataan impor berikut:
import GooglePlaces
- Tambahkan hal berikut ke metode
application(_:didFinishLaunchingWithOptions:)
Anda, yang menggantikan YOUR_API_KEY dengan kunci API Anda:GMSPlacesClient.provideAPIKey("YOUR_API_KEY")
Objective-C
Tambahkan kunci API ke AppDelegate.m
sebagai berikut:
- Tambahkan pernyataan impor berikut:
@import GooglePlaces;
- Tambahkan hal berikut ke metode
application:didFinishLaunchingWithOptions:
Anda, yang menggantikan YOUR_API_KEY dengan kunci API Anda:[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];
Langkah 4: Mulai menulis kode
Contoh kode berikut menunjukkan cara mendapatkan tempat saat ini.
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
Langkah berikutnya
Setelah project dikonfigurasi, Anda dapat mempelajari aplikasi contoh. Anda harus menginstal Cocoapods v1.6.1.