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 dan dependensinya:
- Jika Anda belum memiliki project Xcode, buatlah sekarang dan simpan ke komputer lokal Anda. Jika Anda baru mengenal 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, '14.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GooglePlaces', '8.0.0' end
Pastikan Anda menjalankanpod outdated
secara rutin untuk mendeteksi saat ada versi yang lebih baru guna 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, lalu buka direktori project yang berisi
Podfile
. - Jalankan perintah
pod update
. Tindakan ini akan mengupdate semua API yang ditentukan dalamPodfile
ke versi terbaru.
Menggunakan Carthage
Places SDK for iOS tersedia untuk digunakan dengan Carthage, sebuah pengelola dependensi terdesentralisasi yang sederhana untuk project Swift dan Objective-C Cocoa.
- Menginstal 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 mengenal 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 beserta versinya:
binary "https://dl.google.com/geosdk/GooglePlaces.json" == 6.2.1
Pastikan untuk menjalankancarthage outdated
secara teratur guna 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
Carthage/Build/iOS
. - Tarik paket berikut ke project Anda (jika 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 pada kolom Build Settings dari Basic ke All.
Untuk mengupdate API untuk project yang ada, ikuti langkah-langkah berikut:
- Buka terminal, lalu buka direktori project yang berisi
Cartfile
. - Jalankan perintah
carthage update
. Tindakan ini akan mengupdate 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-8.0.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 (jika 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 pada kolom Build Settings dari Basic ke All.
Menginstal XCFramework
XCFramework adalah paket biner yang dapat Anda gunakan pada 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 yang terdesentralisasi untuk project Swift dan Objective-C Cocoa.
- Menginstal 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 mengenal 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, dan Embedded Content. Pastikan
untuk memilih Do Not Embed:
GooglePlaces-x.x.x/GooglePlaces.xcframework
- Klik kanan
GooglePlaces.xcframework
di project Anda, lalu pilih Show In Finder. - Tarik
GooglePlaces.bundle
dari folderios-arm64/GooglePlaces.framework/Resources
ke direktori level teratas project Xcode Anda. Jika diminta, pastikan Copy items into destination group's folder tidak dipilih. - Pilih project Anda dari Project Navigator, dan pilih target aplikasi Anda.
- Buka tab Build Phases, dan 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 pada kolom Build Settings dari Basic ke All.
Secara manual
Panduan ini menunjukkan cara menambahkan Maps SDK for iOS ke project Anda secara manual dan mengonfigurasi setelan build di Xcode.
- Download file sumber SDK: GooglePlaces-8.0.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, dan Embedded Content. Pastikan
untuk memilih Do Not Embed:
GooglePlaces-x.x.x/GooglePlaces.xcframework
- Klik kanan
GooglePlaces.xcframework
di project Anda, lalu pilih Show In Finder. - Tarik
GooglePlaces.bundle
dari folderios-arm64/GooglePlaces.framework/Resources
ke direktori level teratas project Xcode Anda. Jika diminta, pastikan Copy items into destination group's folder tidak dipilih. - Pilih project Anda dari Project Navigator, dan pilih target aplikasi Anda.
- Buka tab Build Phases, dan 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 pada kolom Build Settings dari Basic ke All.
Langkah 3: Tambahkan kunci API ke aplikasi Anda
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 kode 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 kode 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.