Xcode projesi oluşturma

iOS için Yerler SDK'sını indirmek, kitaplığı ve bağımlılıklarını uygulamanıza eklemek ve ücretsiz bir API anahtarı almak için bu kılavuzdaki adımları uygulayın.

Sürüm notları her sürüm için kullanılabilir.

1. Adım: Xcode'un son sürümünü alın

iOS için Yerler SDK'sını kullanarak bir proje oluşturmak istiyorsanız aşağıdakiler gereklidir:

  1. Xcode sürüm 14.0 veya sonraki sürümler.
  2. Cocoapod veya Carthage.

2. Adım: SDK'yı yükleyin

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

CocoaPods kullan

iOS için Yerler SDK'sı, tüm yerler işlevini içeren CocoaPod kapsülü olan GooglePlaces ile kullanılabilir.

CocoaPods, Swift ve Objective-C Cocoa projelerinin açık kaynak bağımlılık yöneticisidir. CocoaPods aracınız yoksa terminalden aşağıdaki komutu çalıştırarak macOS'e yükleyin. Ayrıntılı bilgi için CocoaPods Başlangıç Kılavuzu'na göz atın.

sudo gem install cocoapods

iOS için Yerler SDK'sı için bir Podfile oluşturun ve bu SDK'yı ve bağımlılarını yüklemek için kullanın:

  1. Henüz Xcode projeniz yoksa yeni bir proje oluşturup yerel makinenize kaydedin. iOS geliştirme konusunda yeniyseniz yeni bir proje oluşturun ve iOS App şablonunu seçin.
  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 bağımlılıklarınızı sürümleriyle birlikte ekleyin. Aşağıda uygulama hedefinizin adını ve GooglePlaces kapsülünün adını belirten bir örnek verilmiştir:
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '14.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GooglePlaces', '8.0.0'
    end
    
    Her zaman en son sürümü kullandığınızdan emin olmak için pod outdated uygulamasının düzenli olarak yeni bir sürüm olup olmadığını kontrol ettiğinizden emin olun.
  4. Podfile kaydedin.
  5. Bir terminal penceresi açın ve Podfile öğesini içeren dizine gidin:

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

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

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

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

Kartanca kullan

iOS için Yerler SDK'sı, Swift ve Objective-C Cocoa projelerine yönelik basit ve merkezi olmayan bir bağımlı yöneticisi olan Carthage ile birlikte kullanılabilir.

  1. Carthage'ı yükleyin. Birkaç yöntem vardır. Bu nedenle, tam adımlar için Carthage README dosyasına bakın.
  2. Henüz Xcode projeniz yoksa yeni bir proje oluşturup yerel makinenize kaydedin. iOS geliştirme konusunda yeniyseniz yeni bir proje oluşturun ve iOS App şablonunu seçin.
  3. Proje dizininizde Cartfile adlı bir dosya oluşturun. Bu dosya, projenizin bağımlılıklarını tanımlar.
  4. Cartfile sürümünü düzenleyin ve bağımlılıklarını sürümleriyle birlikte ekleyin:
     binary "https://dl.google.com/geosdk/GooglePlaces.json" == 6.2.1
    Her zaman en son sürümün kullanıldığından emin olmak için carthage outdated uygulamasının yeni bir sürümü olup olmadığını algılamak amacıyla düzenli olarak çalıştırın.
  5. Cartfile kaydedin.
  6. Bir terminal penceresinde Cartfile ifadesini içeren dizine gidin:
    cd <path-to-project>
  7. carthage update komutunu çalıştırın. Bu işlem, Cartfile öğesinde belirtilen API'leri ve sahip olabileceği bağımlılıkları yükleyecek.
  8. Finder'da, proje dizininizde, Carthage/Build/iOS altındaki indirilen çerçeve dosyalarına gidin.
  9. Aşağıdaki paketleri projenize sürükleyin (istendiğinde Öğeleri gerekirse kopyala'yı seçin):
    • GooglePlaces-x.x.x/Frameworks/GooglePlaces.xcframework
  10. Projenizde GooglePlaces.xcframework'yi sağ tıklayın ve Finder'da Göster'i seçin.
  11. GooglePlaces.bundle öğesini Resources klasöründen projenize sürükleyin. İstendiğinde Hedef grubun klasörüne öğe kopyala'nın seçilmediğinden emin olun.
  12. Project Navigator'dan projenizi ve uygulamanızın hedefini seçin.
  13. Derleme Aşamaları sekmesini açın ve İkili Programları Kitaplıklara Bağla bölümünde aşağıdaki çerçeveleri ve kitaplıkları ekleyin:
    • CoreGraphics.framework
    • CoreLocation.framework
    • libc++.tbd
    • libz.tbd
    • QuartzCore.framework
    • UIKit.framework
  14. Belirli bir hedef yerine projenizi seçin ve Derleme Ayarları sekmesini açın.

  15. Diğer Bağlayıcı İşaretleri bölümüne -ObjC ekleyin. Bu ayarlar görünmüyorsa Oluşturma Ayarları çubuğunda Temel olan filtreyi Tümü olarak değiştirin.

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

  1. Bir terminal penceresi açın ve Cartfile içeren proje dizinine gidin.
  2. carthage update komutunu çalıştırın. Bu işlem, Cartfile içinde belirtilen tüm API'leri en son sürüme günceller.

Manuel olarak yükleme

Bu kılavuzda, Google Code'un projenize manuel olarak nasıl ekleneceği ve Xcode'da derleme ayarlarınızı nasıl yapılandıracağınız gösterilmektedir.

  1. SDK kaynak dosyalarını indirin: GooglePlaces-8.0.0
  2. Kaynak dosyaları açın.
  3. Xcode'u başlatın ve mevcut bir projeyi açın ya da yeni bir proje oluşturun. iOS geliştirme konusunda yeniyseniz yeni bir proje oluşturun ve iOS App şablonunu seçin.
  4. önceki sürümlerden Haritalar paketlerini projenizden kaldırın.
  5. Aşağıdaki paketleri projenize sürükleyin (istendiğinde Öğeleri gerekirse kopyala'yı seçin):
    • GooglePlaces-x.x.x/Frameworks/GooglePlaces.xcframework
  6. Projenizde GooglePlaces.xcframework'yi sağ tıklayın ve Finder'da Göster'i seçin.
  7. GooglePlaces.bundle öğesini Resources klasöründen projenize sürükleyin. İstendiğinde Hedef grubun klasörüne öğe kopyala'nın seçilmediğinden emin olun.
  8. Project Navigator'dan projenizi ve uygulamanızın hedefini seçin.
  9. Derleme Aşamaları sekmesini açın ve İkili Programları Kitaplıklara Bağla bölümünde aşağıdaki çerçeveleri ve kitaplıkları ekleyin:
    • CoreGraphics.framework
    • CoreLocation.framework
    • libc++.tbd
    • libz.tbd
    • QuartzCore.framework
    • UIKit.framework
  10. Belirli bir hedef yerine projenizi seçin ve Derleme Ayarları sekmesini açın.

  11. Diğer Bağlayıcı İşaretleri bölümüne -ObjC ekleyin. Bu ayarlar görünmüyorsa Oluşturma Ayarları çubuğunda Temel olan filtreyi Tümü olarak değiştirin.

XCFramework yükleme

XCFramework, iOS1 için Yerler SDK'sını yüklemek amacıyla M1 çip setini kullanan makineler de dahil olmak üzere birden çok platformda kullanabileceğiniz bir ikili program paketidir. Bu kılavuzda, iOS için Yerler SDK'sını içeren XCFramework'ün projenize nasıl ekleneceği ve derleme ayarlarınızı Xcode'da nasıl yapılandıracağınız gösterilmektedir.

Kartuşlu

iOS için Yerler SDK'sı, Swift ve Objective-C Cocoa projelerine yönelik basit ve merkezi olmayan bir bağımlı yöneticisi olan Carthage ile birlikte kullanılabilir.

  1. Carthage'ı yükleyin. Birkaç yöntem vardır. Bu nedenle, tam adımlar için Carthage README dosyasına bakın.
  2. Henüz Xcode projeniz yoksa yeni bir proje oluşturup yerel makinenize kaydedin. iOS geliştirme konusunda yeniyseniz yeni bir proje oluşturun ve iOS App şablonunu seçin.
  3. Proje dizininizde Cartfile adlı bir dosya oluşturun. Bu dosya, projenizin bağımlılıklarını tanımlar.
  4. Cartfile öğesini düzenleyin ve bağımlılıklarınızı sürümleriyle birlikte ekleyin:

    binary "https://dl.google.com/geosdk/GooglePlaces.json" == 6.2.1-beta
  5. Cartfile kaydedin.
  6. Bir terminal penceresinde Cartfile ifadesini içeren dizine gidin.

    cd <path-to-project>
  7. carthage update komutunu çalıştırın. Bu işlem, Cartfile öğesinde belirtilen API'leri ve sahip olabileceği bağımlılıkları yükleyecek.
  8. Finder'daki (Proje Bulucu) proje dizininizde, (Carthage/Build) altındaki indirilen çerçeve dosyalarına gidin.
  9. Aşağıdaki XCFramework'ü projenize Kareler, Kitaplıklar ve Yerleştirilmiş İçerik bölümünden sürükleyin. Yerleştirme'yi seçtiğinizden emin olun:
    • GooglePlaces-x.x.x/GooglePlaces.xcframework
  10. Projenizde GooglePlaces.xcframework'yi sağ tıklayın ve Finder'da Göster'i seçin.
  11. GooglePlaces.bundle öğesini ios-arm64/GooglePlaces.framework/Resources klasöründen Xcode projenizin en üst düzey dizinine sürükleyin. İstendiğinde, Hedef grubun klasörüne öğe kopyala seçeneğinin seçilmediğinden emin olun.
  12. Project Navigator'dan projenizi ve uygulamanızın hedefini seçin.
  13. Derleme Aşamaları sekmesini açın ve İkili Kitaplıklar ile Bağlantı Oluştur'u açıp aşağıdaki çerçeveleri ve kitaplıkları ekleyin:
    • CoreGraphics.framework
    • CoreLocation.framework
    • libc++.tbd
    • libz.tbd
    • QuartzCore.framework
    • UIKit.framework
  14. Belirli bir hedef yerine projenizi seçin ve Derleme Ayarları sekmesini açın.

  15. Diğer Bağlayıcı İşaretleri bölümüne -ObjC ekleyin. Bu ayarlar görünmüyorsa Oluşturma Ayarları çubuğunda Temel olan filtreyi Tümü olarak değiştirin.

Manuel Olarak

Bu kılavuzda, iOS için Haritalar SDK'sını projenize manuel olarak nasıl ekleyeceğinizi ve Xcode'da derleme ayarlarınızı nasıl yapılandıracağınızı görebilirsiniz.

  1. SDK kaynak dosyalarını indirin: GooglePlaces-8.0.0.
  2. Kaynak dosyaları açın. XCFramework'e erişmek için Frameworks klasörüne gidin.
  3. Xcode'u başlatın ve mevcut bir projeyi açın ya da yeni bir proje oluşturun. iOS'te yeniyseniz yeni bir proje oluşturun ve iOS App şablonunu seçin.
  4. Aşağıdaki XCFramework'ü projenize Kareler, Kitaplıklar ve Yerleştirilmiş İçerik bölümünden sürükleyin. Yerleştirme'yi seçtiğinizden emin olun:
    • GooglePlaces-x.x.x/GooglePlaces.xcframework
  5. Projenizde GooglePlaces.xcframework'yi sağ tıklayın ve Finder'da Göster'i seçin.
  6. GooglePlaces.bundle öğesini ios-arm64/GooglePlaces.framework/Resources klasöründen Xcode projenizin en üst düzey dizinine sürükleyin. İstendiğinde, Hedef grubun klasörüne öğe kopyala seçeneğinin seçilmediğinden emin olun.
  7. Project Navigator'dan projenizi ve uygulamanızın hedefini seçin.
  8. Derleme Aşamaları sekmesini açın ve İkili Kitaplıklar ile Bağlantı Oluştur'u açıp aşağıdaki çerçeveleri ve kitaplıkları ekleyin:
    • CoreGraphics.framework
    • CoreLocation.framework
    • libc++.tbd
    • libz.tbd
    • QuartzCore.framework
    • UIKit.framework
  9. Belirli bir hedef yerine projenizi seçin ve Derleme Ayarları sekmesini açın.

  10. Diğer Bağlayıcı İşaretleri bölümüne -ObjC ekleyin. Bu ayarlar görünmüyorsa Oluşturma Ayarları çubuğunda Temel olan filtreyi Tümü olarak değiştirin.

3. Adım: API anahtarını uygulamanıza ekleyin

Aşağıdaki örneklerde, YOUR_API_KEY yerine API anahtarınızı yazın.

Swift

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

  • Aşağıdaki içe aktarma ifadesini ekleyin:
    import GooglePlaces
  • Aşağıdakileri application(_:didFinishLaunchingWithOptions:) yönteminize eklemek için API_ANAHTARINIZ'ı API anahtarınızla değiştirin:
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

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

  • Aşağıdaki içe aktarma ifadesini ekleyin:
    @import GooglePlaces;
  • Aşağıdakileri application:didFinishLaunchingWithOptions: yönteminize eklemek için API_ANAHTARINIZ'ı API anahtarınızla değiştirin:
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

4. Adım: Kod yazmaya başlayın

Aşağıdaki kod örnekleri, mevcut yeri nasıl alacağınızı göstermektedir.

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
      

Sonraki adımlar

Projeniz yapılandırıldıktan sonra örnek uygulamaları inceleyebilirsiniz. Cocoapods 1.6.1 sürümünün yüklü olması gerekir.