Xcode projesi oluşturma

Faturalandırmayı etkinleştirip API anahtarı oluşturduktan sonra uygulamanızı geliştirmek için kullanacağınız Xcode projesini kurmaya hazırsınızdır.

Her sürüm için sürüm notları mevcuttur.

1. Adım: Gerekli yazılımı yükleyin

iOS için Haritalar SDK'sını kullanarak bir proje oluşturmak istiyorsanız şunları indirip yüklemeniz gerekir:

  • Xcode 14.0 sürümü veya sonraki sürümler
  • Cocoapod'lar

2. Adım: Xcode projesini oluşturun ve iOS için Haritalar SDK'sını yükleyin

API'yi yeni bir projeye yüklemek için aşağıdaki adımları uygulayın:

CocoaPods kullanma

iOS için Haritalar SDK'sı CocoaPods kapsülü olarak kullanılabilir. CocoaPods, Swift ve Objective-C Cocoa projeleri için açık kaynak bir bağımlılık yöneticisidir.

Henüz CocoaPods aracına sahip değilseniz terminalden aşağıdaki komutu çalıştırarak macOS'e yükleyin. Ayrıntılı bilgi için CocoaPods Başlangıç Kılavuzu'na bakın.

sudo gem install cocoapods

iOS için Haritalar SDK'sı için bir Podfile oluşturup API'yi ve bağımlılıklarını yüklemek için bu SDK'yı kullanın:

  1. Henüz bir Xcode projeniz yoksa hemen bir proje oluşturup yerel makinenize kaydedin. iOS geliştirme konusunda yeniyseniz:
    1. Yeni proje oluşturun.
    2. iOS > Uygulama şablonunu seçin.
    3. Proje seçenekleri ekranında:
      1. Proje Adı'nı girin.
      2. Grup tanımlayıcısı alanının değerini kaydedin. Aşağıdaki API anahtarınızı kısıtlamak için bu değeri kullanabilirsiniz.
      3. Arayüz projesini Resimli taslak olarak ayarlayın.
      4. Dil'i Swift veya Objective-C olarak ayarlayın.
  2. Proje dizininizde Podfile adlı bir dosya oluşturun. Bu dosya projenizin bağımlılıklarını tanımlar.
  3. Podfile öğesini düzenleyin ve versions birlikte bağımlılıklarınızı ekleyin. iOS için Haritalar SDK'sı için ihtiyacınız olan bağımlılığı içeren bir örneği aşağıda bulabilirsiniz:
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '14.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps', '8.3.1'
    end
    
    Her zaman en yeni sürümde olduğunuzdan emin olmak için daha yeni bir sürüm olduğunu algılamak amacıyla pod outdated uygulamasını düzenli olarak çalıştırdığınızdan emin olun. Gerekirse en son sürüme geçin.
  4. Podfile dosyasını kaydedin.
  5. Bir terminal penceresi açın ve Podfile klasörünü içeren dizine gidin:

    cd <path-to-project>
  6. pod install komutunu çalıştırın. Bu işlem, Podfile politikasında belirtilen API'leri ve sahip olabileceği bağımlılıkları yükleyecek.

    pod install
  7. Xcode'u kapatın ve Xcode'u başlatmak için projenizin .xcworkspace dosyasını açın (çift tıklayın). Bu tarihten itibaren projeyi açmak için .xcworkspace dosyasını kullanmanız gerekir.

Mevcut bir projenin API'sini güncellemek için şu adımları uygulayın:

  1. Bir terminal penceresi açın ve Podfile dosyasını içeren proje dizinine gidin.
  2. pod update komutunu çalıştırın. Bu işlem, Podfile politikasında belirtilen tüm API'leri en yeni sürüme günceller.

Manuel olarak yükleme

Bu kılavuzda, iOS için Haritalar SDK'sını içeren XCFrameworks'ün projenize manuel olarak nasıl ekleneceği ve Xcode'da derleme ayarlarınızı nasıl yapılandıracağınız gösterilmektedir. XCFramework, Apple Silicon kullanan makineler de dahil olmak üzere birden çok platformda kullanabileceğiniz bir ikili program paketidir.
  1. Aşağıdaki SDK ikili programlarını ve kaynak dosyalarını indirin:
  2. XCFrameworks ve kaynaklara erişmek için sıkıştırılmış dosyaları açın.
  3. Henüz bir Xcode projeniz yoksa hemen bir proje oluşturup yerel makinenize kaydedin. iOS geliştirme konusunda yeniyseniz:
    1. Yeni proje oluşturun.
    2. iOS > Uygulama şablonunu seçin.
    3. Proje seçenekleri ekranında:
      1. Proje Adı'nı girin.
      2. Grup tanımlayıcısı alanının değerini kaydedin. Aşağıdaki API anahtarınızı kısıtlamak için bu değeri kullanabilirsiniz.
      3. Arayüz projesini Resimli taslak olarak ayarlayın.
      4. Dil'i Swift veya Objective-C olarak ayarlayın.
  4. Aşağıdaki XCFrameworks'ü, Çerçeveler, Kitaplıklar ve Yerleştirilmiş İçerik altına sürükleyin. Her XCFramework için Do Not Embed'i (Yerleştirme) seçtiğinizden emin olun:
    • GoogleMaps.xcframework
    • GoogleMapsBase.xcframework
    • GoogleMapsCore.xcframework
    • (Yalnızca Premium Plan müşterileri) GoogleMapsM4B.xcframework
  5. GoogleMaps.bundle dosyasını, indirdiğiniz GoogleMapsResources'ndan Xcode projenizin en üst düzey dizinine sürükleyin. İstendiğinde, Gerekiyorsa öğeleri kopyala'nın seçili olduğundan emin olun.
  6. Project Navigator'dan projenizi ve uygulamanızın hedefini seçin.
  7. Uygulamanızın hedefi için Derleme Aşamaları sekmesini açın ve İkili Programı Kitaplıklara Bağla bölümünde aşağıdaki çerçeveleri ve kitaplıkları ekleyin:
    • 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. Belirli bir hedef yerine projenizi seçin ve Derleme Ayarları sekmesini açın. Diğer Bağlayıcı İşaretleri bölümünde -ObjC kodunu ekleyin. Bu ayarlar görünmüyorsa Derleme Ayarları çubuğundaki filtreyi Temel yerine Tümü olarak değiştirin.

  9. iOS XCFramework için Yerler SDK'sını yüklemek istiyorsanız iOS için Yerler SDK'sını Kullanmaya Başlama bölümüne bakın.

3. Adım: API anahtarınızı projeye ekleyin

API anahtarı alın bölümünde uygulamanız için bir API anahtarı oluşturdunuz. Şimdi bu anahtarı Xcode projenize ekleyin.

Aşağıdaki örneklerde YOUR_API_KEY değerini API anahtarınızla değiştirin.

bölümünü inceleyin.

konusuna bakın.

Swift

API anahtarınızı AppDelegate.swift cihazınıza aşağıdaki şekilde ekleyin:

  1. Şu içe aktarma ifadesini ekleyin:
    import GoogleMaps
  2. API anahtarınızı kullanarak application(_:didFinishLaunchingWithOptions:) yönteminize aşağıdakileri ekleyin:
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. Places API'yi de kullanıyorsanız anahtarınızı burada gösterildiği gibi tekrar ekleyin:
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

API anahtarınızı AppDelegate.m cihazınıza aşağıdaki şekilde ekleyin:

  1. Şu içe aktarma ifadesini ekleyin:
    @import GoogleMaps;
  2. API anahtarınızı kullanarak application:didFinishLaunchingWithOptions: yönteminize aşağıdakileri ekleyin:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. Places API'yi de kullanıyorsanız anahtarınızı burada gösterildiği gibi tekrar ekleyin:
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

4. Adım: Harita ekleyin

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

5. adım (İsteğe bağlı): API tarafından kullanılan URL şemalarını tanımlayın

iOS 9 ve Xcode 7'den itibaren uygulamalar, açmak istedikleri URL şemalarını uygulamanın Info.plist dosyasındaki şemaları belirterek tanımlayabilir. iOS için Haritalar SDK'sı, kullanıcı haritadaki Google logosunu tıkladığında Google Haritalar mobil uygulamasını açar. Böylece uygulamanız alakalı URL şemalarını beyan edebilir.

iOS için Haritalar SDK'sı tarafından kullanılan URL şemalarını beyan etmek üzere aşağıdaki satırları Info.plist öğenize ekleyin:

LSApplicationQueriesSchemes googlechromes comgooglemaps

Aşağıdaki ekran görüntüsünde Xcode kullanıcı arayüzündeki yapılandırma gösterilmektedir:

Xcode&#39;da LSApplicationQuerySchemes yapılandırması

Yukarıdaki beyan olmadan kullanıcılar haritadaki Google logosuna dokunduğunda aşağıdaki hatalar ortaya çıkabilir:

-canOpenURL: URL için başarısız oldu: "comgooglemaps://" - error: "Bu uygulamanın comgooglemaps şeması için sorgu yürütmesine izin verilmiyor" -canOpenURL: URL için başarısız oldu: "googlechromes://" - error: "Bu uygulamanın şema için sorgu sorgulamasına izin verilmiyor"

Bu hataları ortadan kaldırmak için beyanı Info.plist öğenize ekleyin.

Sırada ne var?

Artık bir API anahtarınız ve bir Xcode projeniz olduğuna göre uygulama oluşturup çalıştırabilirsiniz. iOS için Haritalar SDK'sı, başlamanıza yardımcı olabilecek çok sayıda eğitici ve örnek uygulama sağlar. Ayrıntılı bilgi için: