Menyiapkan project Xcode

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

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 13.0 atau yang lebih baru.
  2. Cocoapods atau Carthage.

Langkah 2: Instal SDK

Untuk menginstal API dalam 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 lebih baru dalam 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, '13.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GooglePlaces', '7.2.0'
    end
    Pastikan Anda menjalankan pod outdated secara rutin untuk mendeteksi saat ada versi yang lebih baru untuk 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 sudah ada, ikuti langkah-langkah berikut:

  1. Buka terminal dan buka direktori project yang berisi Podfile.
  2. Jalankan perintah pod update. Ini akan mengupdate semua API yang ditentukan di Podfile ke versi terbaru.

Gunakan Carthage

Places SDK for iOS tersedia untuk digunakan dengan Carthage, pengelola dependensi yang terdesentralisasi sederhana untuk project Swift dan Objective-C Cocoa.

  1. Instal Carthage. Ada beberapa metode, jadi lihat file README Carthage untuk mengetahui langkah-langkahnya.
  2. Jika Anda belum memiliki project Xcode, buatlah sekarang dan simpan ke komputer lokal Anda. Jika Anda lebih baru dalam 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 beserta versinya:
     binary "https://dl.google.com/geosdk/GooglePlaces.json" == 6.2.1
    Pastikan untuk menjalankan carthage outdated secara rutin 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 bagian Carthage/Build/iOS.
  9. Tarik paket berikut ke dalam project Anda (jika diminta, pilih Copy items if needed):
    • GooglePlaces-5.x.x/Frameworks/GooglePlaces.framework
  10. Klik kanan GooglePlaces.framework 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 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 sudah ada, ikuti langkah-langkah berikut:

  1. Buka terminal dan buka direktori project yang berisi Cartfile.
  2. Jalankan perintah carthage update. API ini akan mengupdate semua API yang ditentukan dalam Cartfile ke versi terbaru.

Menginstal secara manual

Panduan ini menampilkan cara menambahkan framework GooglePlaces ke project Anda secara manual dan mengonfigurasi setelan build di Xcode.

  1. Download file sumber SDK: GooglePlaces-7.2.0
  2. Buka ekstensi file sumber.
  3. Luncurkan Xcode dan buka project yang ada, atau buat project baru. Jika Anda lebih baru dalam 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 dalam project Anda (jika diminta, pilih Copy items if needed):
    • GooglePlaces-5.x.x/Frameworks/GooglePlaces.framework
  6. Klik kanan GooglePlaces.framework 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 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 Kartago

Places SDK for iOS tersedia untuk digunakan dengan Carthage, pengelola dependensi terdesentralisasi sederhana untuk project Swift dan Objective-C Cocoa.

  1. Instal Carthage. Ada beberapa metode, jadi lihat file README Carthage untuk mengetahui langkah-langkahnya.
  2. Jika Anda belum memiliki project Xcode, buat project sekarang dan simpan ke mesin lokal Anda. Jika Anda lebih baru dalam 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-beta
  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 ada.
  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, and Embedded Content. Pastikan untuk memilih Do Embed:
    • GooglePlaces-x.x.x/GooglePlaces.xcframework
  10. Klik kanan GooglePlaces.xcframework di project Anda, dan 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 secara manual ke project Anda dan mengonfigurasi setelan build di Xcode.

  1. Download file sumber SDK: GooglePlaces-7.2.0-beta-xcframework.
  2. Buka ekstensi file sumber.
  3. Luncurkan Xcode dan buka project yang ada, atau buat project baru. Jika Anda baru menggunakan iOS, buat project baru dan pilih template App iOS.
  4. Tarik XCFramework berikut ke dalam project Anda di bagian Frameworks, Libraries, and Embedded Content. Pastikan untuk memilih Do Embed:
    • GooglePlaces-x.x.x/GooglePlaces.xcframework
  5. Klik kanan GooglePlaces.xcframework di project Anda, dan 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, dengan mengganti 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, dengan mengganti 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 menjelajahi aplikasi contoh. Cocoapods v1.6.1 harus diinstal.