Menyiapkan project Xcode

Setelah mengaktifkan penagihan dan membuat kunci API, Anda siap menyiapkan project Xcode yang Anda gunakan untuk mengembangkan aplikasi.

Catatan rilis tersedia untuk setiap rilis.

Langkah 1: Instal software yang diperlukan

Untuk membuat project menggunakan Maps SDK for iOS, Anda harus mendownload dan menginstal:

  • Xcode versi 14.0 atau yang lebih baru
  • Cocoapoda

Langkah 2: Buat project Xcode dan instal Maps SDK for iOS

Untuk menginstal API di project baru, ikuti langkah-langkah berikut:

Menggunakan CocoaPods

Maps SDK for iOS tersedia sebagai pod CocoaPods. 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 Maps SDK for iOS dan gunakan untuk menginstal API beserta dependensinya:

  1. Jika Anda belum memiliki project Xcode, buatlah sekarang dan simpan ke komputer lokal Anda. Jika Anda baru mengenal pengembangan iOS:
    1. Membuat project baru.
    2. Pilih template iOS > App.
    3. Di layar opsi project:
      1. Masukkan Project Name.
      2. Catat nilai kolom Bundle identifier. Anda dapat menggunakan nilai tersebut untuk membatasi kunci API di bawah.
      3. Setel Interface project ke Storyboard.
      4. Setel Language ke Swift atau Objective-C.
  2. Buat file bernama Podfile dalam direktori project Anda. File ini mendefinisikan dependensi project Anda.
  3. Edit Podfile dan tambahkan dependensi Anda beserta versions. Berikut adalah contoh yang menyertakan dependensi yang Anda perlukan untuk Maps SDK for iOS:
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '14.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps', '8.3.1'
    end
    
    Pastikan untuk menjalankan pod outdated secara rutin guna mendeteksi saat versi yang lebih baru tersedia untuk memastikan Anda selalu mendapatkan update terbaru. Jika perlu, upgrade ke versi terbaru.
  4. Simpan Podfile.
  5. Buka terminal, lalu buka 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, lalu buka direktori project yang berisi Podfile.
  2. Jalankan perintah pod update. Tindakan ini akan mengupdate semua API yang ditetapkan di Podfile ke versi terbaru.

Menginstal secara manual

Panduan ini menunjukkan cara menambahkan XCFrameworks yang berisi Maps SDK for iOS secara manual ke project Anda dan mengonfigurasi setelan build di Xcode. XCFramework adalah paket biner yang dapat Anda gunakan di berbagai platform, termasuk mesin yang menggunakan Apple silicon.
  1. Download file resource dan biner SDK berikut:
  2. Ekstrak file ZIP untuk mengakses XCFrameworks dan resource.
  3. Jika Anda belum memiliki project Xcode, buatlah sekarang dan simpan ke komputer lokal Anda. Jika Anda baru mengenal pengembangan iOS:
    1. Membuat project baru.
    2. Pilih template iOS > App.
    3. Di layar opsi project:
      1. Masukkan Project Name.
      2. Catat nilai kolom Bundle identifier. Anda dapat menggunakan nilai tersebut untuk membatasi kunci API di bawah.
      3. Setel Interface project ke Storyboard.
      4. Setel Language ke Swift atau Objective-C.
  4. Tarik XCFrameworks berikut ke project Anda di bagian Frameworks, Libraries, and Embedded Content. Pastikan Anda memilih Do Not Embed untuk setiap XCFramework:
    • GoogleMaps.xcframework
    • GoogleMapsBase.xcframework
    • GoogleMapsCore.xcframework
    • (Khusus pelanggan Premium Plan) GoogleMapsM4B.xcframework
  5. Tarik GoogleMaps.bundle dari GoogleMapsResources yang Anda download ke direktori tingkat teratas project Xcode Anda. Saat diminta, pastikan Copy items if needed dipilih.
  6. Pilih project Anda dari Project Navigator, lalu pilih target aplikasi Anda.
  7. Buka tab Build Phases untuk target aplikasi Anda, dan dalam Link Binary with Libraries, lalu tambahkan framework dan library berikut:
    • Accelerate.framework
    • CoreData.framework
    • CoreGraphics.framework
    • CoreImage.framework
    • CoreLocation.framework
    • CoreTelephony.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libc++.tbd
    • libz.tbd
    • Metal.framework
    • OpenGLES.framework
    • QuartzCore.framework
    • SystemConfiguration.framework
    • UIKit.framework
  8. 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.

  9. Untuk menginstal XCFramework Places SDK for iOS, lihat Memulai Places SDK for iOS.

Langkah 3: Tambahkan kunci API Anda ke project

Di bagian Dapatkan kunci API, Anda telah membuat kunci API untuk aplikasi Anda. Sekarang tambahkan kunci tersebut ke project Xcode Anda.

Pada contoh berikut, ganti YOUR_API_KEY dengan kunci API Anda.

untuk informasi selengkapnya.

Swift

Tambahkan kunci API ke AppDelegate.swift sebagai berikut:

  1. Tambahkan pernyataan impor berikut:
    import GoogleMaps
  2. Tambahkan kode berikut ke metode application(_:didFinishLaunchingWithOptions:) Anda, menggunakan kunci API Anda:
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. Jika Anda juga menggunakan Places API, tambahkan kunci Anda lagi seperti yang ditunjukkan di sini:
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

Tambahkan kunci API ke AppDelegate.m sebagai berikut:

  1. Tambahkan pernyataan impor berikut:
    @import GoogleMaps;
  2. Tambahkan kode berikut ke metode application:didFinishLaunchingWithOptions: Anda, menggunakan kunci API Anda:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. Jika Anda juga menggunakan Places API, tambahkan kunci Anda lagi seperti yang ditunjukkan di sini:
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

Langkah 4: Tambahkan peta

Swift

/*
 *   Copyright 2020 Google Inc. All rights reserved.
 *
 *
 *   Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 *   file except in compliance with the License. You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software distributed under
 *   the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 *   ANY KIND, either express or implied. See the License for the specific language governing
 *   permissions and limitations under the License.
 */

import UIKit
import GoogleMaps

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        // Create a GMSCameraPosition that tells the map to display the
        // coordinate -33.86,151.20 at zoom level 6.

        let options = GMSMapViewOptions()
        options.camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
        options.frame = self.view.bounds

        let mapView = GMSMapView(options: options)
        self.view.addSubview(mapView)

        // Creates a marker in the center of the map.
        let marker = GMSMarker()
        marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
        marker.title = "Sydney"
        marker.snippet = "Australia"
        marker.map = mapView
  }
}

Objective-C

/*
*   Copyright 2020 Google Inc. All rights reserved.
*
*
*   Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
*   file except in compliance with the License. You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
*   Unless required by applicable law or agreed to in writing, software distributed under
*   the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
*   ANY KIND, either express or implied. See the License for the specific language governing
*   permissions and limitations under the License.
*/

#import "ViewController.h"
#import <GoogleMaps/GoogleMaps.h>

@interface ViewController()

@end

@implementation ViewController

-   (void)viewDidLoad {
  [super viewDidLoad];
  // Do any additional setup after loading the view.
  // Create a GMSCameraPosition that tells the map to display the
  // coordinate -33.86,151.20 at zoom level 6.
  GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
  options.camera = [GMSCameraPosition cameraWithLatitude:-33.8683
                                                        longitude:151.2086
                                                             zoom:6];
  options.frame = self.view.bounds;
  GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];

  [self.view addSubview:mapView];

  // Creates a marker in the center of the map.
  GMSMarker *marker = [[GMSMarker alloc] init];
  marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
  marker.title = @"Sydney";
  marker.snippet = @"Australia";
  marker.map = mapView;
}

@end

Langkah 5 (Opsional): Deklarasikan skema URL yang digunakan oleh API

Mulai dari iOS 9 dan Xcode 7, aplikasi dapat mendeklarasikan skema URL yang ingin dibuka, dengan menentukan skema dalam file Info.plist aplikasi. Maps SDK for iOS akan membuka aplikasi seluler Google Maps saat pengguna mengklik logo Google pada peta, sehingga aplikasi Anda dapat mendeklarasikan skema URL yang relevan.

Untuk mendeklarasikan skema URL yang digunakan oleh Maps SDK for iOS, tambahkan baris berikut ke Info.plist Anda:

LSApplicationQueriesSchemes googlechromes comgooglemaps

Tangkapan layar berikut menampilkan konfigurasi dalam antarmuka pengguna Xcode:

Konfigurasi LSApplicationQueriesSchemes di Xcode

Tanpa deklarasi di atas, error berikut dapat terjadi saat pengguna mengetuk logo Google pada peta:

-canOpenURL: failed untuk URL: "comgooglemaps://" - error: "Aplikasi ini tidak diizinkan untuk membuat kueri untuk skema comgooglemaps" -canOpenURL: failed for URL: "googlechromes://" - error: "Aplikasi ini tidak diizinkan membuat kueri untuk skema googlechromes"

Untuk menghilangkan error ini, tambahkan deklarasi ke Info.plist.

Langkah berikutnya

Setelah memiliki kunci API dan project Xcode, Anda dapat membuat dan menjalankan aplikasi. Maps SDK for iOS menyediakan berbagai tutorial dan aplikasi contoh yang dapat membantu Anda memulai. Untuk mengetahui detail selengkapnya, lihat: