Menyiapkan project Xcode

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:

  1. Xcode versi 14.0 atau yang lebih baru.
  2. Cocoapods atau Carthage.

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:

  1. 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.
  2. Buat file bernama Podfile dalam direktori project Anda. File ini mendefinisikan dependensi project Anda.
  3. Edit Podfile dan tambahkan dependensi Anda bersama dengan versinya. Berikut adalah contoh yang menentukan nama target aplikasi Anda, dan nama pod GooglePlaces:
    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 menjalankan pod outdated secara rutin untuk mendeteksi saat ada versi yang lebih baru guna memastikan Anda selalu menggunakan versi terbaru.
  4. Simpan Podfile.
  5. Buka terminal dan pilih direktori yang berisi Podfile:

    cd <path-to-project>
  6. Jalankan perintah pod install. Ini akan menginstal API yang ditentukan di Podfile, beserta dependensi yang mungkin dimiliki.

    pod install
  7. 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:

  1. Buka terminal, lalu buka direktori project yang berisi Podfile.
  2. Jalankan perintah pod update. Tindakan ini akan mengupdate semua API yang ditentukan dalam Podfile 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.

  1. Menginstal Carthage. Ada beberapa metode, jadi lihat file README Carthage untuk mengetahui langkah-langkah yang tepat.
  2. 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.
  3. Buat file bernama Cartfile dalam direktori project Anda. File ini menentukan dependensi project Anda.
  4. Edit Cartfile dan tambahkan dependensi Anda beserta versinya:
     binary "https://dl.google.com/geosdk/GooglePlaces.json" == 6.2.1
    Pastikan untuk menjalankan carthage outdated secara teratur guna mendeteksi saat ada versi yang lebih baru untuk memastikan Anda selalu menggunakan versi terbaru.
  5. Simpan Cartfile.
  6. Di jendela terminal, buka direktori yang berisi Cartfile:
    cd <path-to-project>
  7. Jalankan perintah carthage update. Ini akan menginstal API yang ditentukan di Cartfile, beserta dependensi yang mungkin dimiliki.
  8. Di Finder, dalam direktori project Anda, buka file framework yang didownload di Carthage/Build/iOS.
  9. Tarik paket berikut ke project Anda (jika diminta, pilih Copy items if needed):
    • GooglePlaces-x.x.x/Frameworks/GooglePlaces.xcframework
  10. Klik kanan GooglePlaces.xcframework di project Anda, dan pilih Show in Finder.
  11. Tarik GooglePlaces.bundle dari folder Resources ke project Anda. Jika diminta, pastikan Copy items into destination group's folder tidak dipilih.
  12. Pilih project Anda dari Navigator Project, lalu pilih sasaran aplikasi Anda.
  13. 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
  14. Pilih project Anda, bukan target tertentu, dan buka tab Build Settings.

  15. 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:

  1. Buka terminal, lalu buka direktori project yang berisi Cartfile.
  2. Jalankan perintah carthage update. Tindakan ini akan mengupdate semua API yang ditentukan dalam Cartfile 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.

  1. Download file sumber SDK: GooglePlaces-8.0.0
  2. Buka ekstensi file sumber.
  3. 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.
  4. Buang semua bundel Maps rilis sebelumnya dari proyek Anda.
  5. Tarik paket berikut ke project Anda (jika diminta, pilih Copy items if needed):
    • GooglePlaces-x.x.x/Frameworks/GooglePlaces.xcframework
  6. Klik kanan GooglePlaces.xcframework di project Anda, dan pilih Show in Finder.
  7. Tarik GooglePlaces.bundle dari folder Resources ke project Anda. Jika diminta, pastikan Copy items into destination group's folder tidak dipilih.
  8. Pilih project Anda dari Navigator Project, lalu pilih sasaran aplikasi Anda.
  9. 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
  10. Pilih project Anda, bukan target tertentu, dan buka tab Build Settings.

  11. 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.

  1. Menginstal Carthage. Ada beberapa metode, jadi lihat file README Carthage untuk mengetahui langkah-langkah yang tepat.
  2. 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.
  3. Buat file bernama Cartfile dalam direktori project Anda. File ini menentukan dependensi project Anda.
  4. Edit Cartfile dan tambahkan dependensi Anda bersama dengan versinya:

    binary "https://dl.google.com/geosdk/GooglePlaces.json" == 6.2.1-beta
  5. Simpan Cartfile.
  6. Di jendela terminal, buka direktori yang berisi Cartfile:

    cd <path-to-project>
  7. Jalankan perintah carthage update. Tindakan ini akan menginstal API yang ditentukan dalam Cartfile, beserta dependensi yang mungkin dimilikinya.
  8. Di Finder, dalam direktori project Anda, buka file framework yang didownload di bagian Carthage/Build.
  9. 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
  10. Klik kanan GooglePlaces.xcframework di project Anda, lalu pilih Show In Finder.
  11. Tarik GooglePlaces.bundle dari folder ios-arm64/GooglePlaces.framework/Resources ke direktori level teratas project Xcode Anda. Jika diminta, pastikan Copy items into destination group's folder tidak dipilih.
  12. Pilih project Anda dari Project Navigator, dan pilih target aplikasi Anda.
  13. 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
  14. Pilih project Anda, bukan target tertentu, dan buka tab Build Settings.

  15. 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.

  1. Download file sumber SDK: GooglePlaces-8.0.0.
  2. Buka ekstensi file sumber. Buka folder Frameworks untuk mengakses XCFramework.
  3. Luncurkan Xcode dan buka project yang ada, atau buat project baru. Jika Anda baru menggunakan iOS, buat project baru dan pilih Template Aplikasi iOS.
  4. 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
  5. Klik kanan GooglePlaces.xcframework di project Anda, lalu pilih Show In Finder.
  6. Tarik GooglePlaces.bundle dari folder ios-arm64/GooglePlaces.framework/Resources ke direktori level teratas project Xcode Anda. Jika diminta, pastikan Copy items into destination group's folder tidak dipilih.
  7. Pilih project Anda dari Project Navigator, dan pilih target aplikasi Anda.
  8. 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
  9. Pilih project Anda, bukan target tertentu, dan buka tab Build Settings.

  10. 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.