Faturalandırmayı etkinleştirip bir 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 üzere aşağıdakileri indirip yüklemeniz gerekir:
- Xcode 14.0 veya sonraki sürümler
2. Adım: Xcode projesini oluşturun ve iOS için Haritalar SDK'sını yükleyin
CocoaPods kullanma
iOS için Haritalar SDK'sı, CocoaPods kapsülü olarak mevcuttur. CocoaPods, Swift ve Objective-C Cocoa projeleri için açık kaynak bir bağımlılık yöneticisidir.
CocoaPods aracınız henü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 Haritalar SDK'sına yönelik bir Podfile
oluşturup API ile bağımlılıklarını yüklemek için bu SDK'yı kullanın:
- Henüz Xcode projeniz yoksa hemen bir proje oluşturun ve yerel makinenize kaydedin. iOS geliştirme konusunda yeniyseniz:
- Yeni proje oluşturun.
- iOS > Uygulama şablonunu seçin.
- Proje seçenekleri ekranında:
- Proje Adı'nı girin.
- 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.
- Arayüz projesini Resimli taslak olarak ayarlayın.
- Dil'i Swift veya Objective-C olarak ayarlayın.
- Proje dizininizde
Podfile
adlı bir dosya oluşturun. Bu dosya projenizin bağımlılıklarını tanımlar. Podfile
öğesini düzenleyin ve sürümleriyle 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.2.0' end
Her zaman en güncel sürüme sahip olduğunuzdan emin olmak için daha yeni bir sürüm olduğunda bunu algılamak amacıylapod outdated
uygulamasını düzenli olarak çalıştırdığınızdan emin olun. Gerekirse en son sürüme geçin.Podfile
dosyasını kaydedin.Bir terminal penceresi açın ve
Podfile
dosyasını içeren dizine gidin:cd <path-to-project>
pod install
komutunu çalıştırın. Bu işlem,Podfile
politikasında belirtilen API'leri ve sahip olabilecekleri bağımlılıkları yükler.pod install
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:
- Bir terminal penceresi açın ve
Podfile
dosyasını içeren proje dizinine gidin. 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.
XCFramework'ü yükleme
XCFramework, iOS için Haritalar SDK'sını yüklemek amacıyla M1 yonga seti kullanan makineler de dahil olmak üzere çeşitli platformlarda kullanabileceğiniz bir ikili program paketidir. Bu kılavuzda, iOS için Haritalar SDK'sını içeren XCFramework'ün projenize nasıl ekleneceği ve Xcode'da derleme ayarlarınızı nasıl yapılandıracağınız gösterilmektedir.
Manuel Olarak
Bu kılavuzda, iOS için Haritalar SDK'sını projenize manuel olarak nasıl ekleyeceğiniz ve Xcode'da derleme ayarlarınızı nasıl yapılandıracağınız gösterilmektedir.
- Şu SDK kaynak dosyalarını indirin: GoogleHaritalar-8.2.0.
- Kaynak dosyaları paketinden çıkarın. XCFramework'e erişmek için Frameworks klasörüne gidin.
- Henüz Xcode projeniz yoksa hemen bir proje oluşturun ve yerel makinenize kaydedin. iOS geliştirme konusunda yeniyseniz:
- Yeni proje oluşturun.
- iOS > Uygulama şablonunu seçin.
- Proje seçenekleri ekranında:
- Proje Adı'nı girin.
- 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.
- Arayüz projesini Resimli taslak olarak ayarlayın.
- Dil'i Swift veya Objective-C olarak ayarlayın.
- Aşağıdaki XCFrameworks'ü Çerçeveler, Kitaplıklar ve Yerleşik İçerikler altındaki projenize sürükleyin. Her XCFramework için Yerleştirme'yi seçtiğinizden emin olun:
GoogleMaps-x.x.x/GoogleMapsBase.xcframework
GoogleMaps-x.x.x/GoogleMaps.xcframework
GoogleMaps-x.x.x/GoogleMapsCore.xcframework
- (Yalnızca Premium Plan müşterileri)
GoogleMaps-x.x.x/GoogleMapsM4B.xcframework
- Projenizde
GoogleMaps.xcframework
öğesini sağ tıklayın ve Finder'da Göster'i seçin. GoogleMaps.bundle
dosyasınıios-arm64_x86_64-simulator/GoogleMaps.framework/Resources
klasöründen Xcode projenizin en üst düzey dizinine sürükleyin. İstendiğinde, Gerekiyorsa öğeleri kopyala'nın seçilmediğinden emin olun.- Project Navigator'dan projenizi seçin ve uygulamanızın hedefini belirleyin.
- Uygulamanızın hedefi için Derleme Aşamaları sekmesini açıp İ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
Belirli bir hedef yerine projenizi seçin ve Derleme Ayarları sekmesini açın. Diğer Bağlayıcı İşaretleri bölümüne
-ObjC
ekleyin. Bu ayarlar görünmüyorsa Derleme Ayarları çubuğundaki filtreyi Temel yerine Tümü olarak değiştirin.iOS XCFramework için Yerler SDK'sını yüklemek için iOS için Yerler SDK'sını Kullanmaya Başlama bölümüne bakın.
Kartacalı
Manuel olarak yükleme
Bu kılavuzda, iOS için Haritalar SDK'sını projenize manuel olarak nasıl ekleyeceğiniz ve Xcode'da derleme ayarlarınızı nasıl yapılandıracağınız gösterilmektedir.
- Şu SDK kaynak dosyalarını indirin: GoogleHaritalar-8.2.0.
- Kaynak dosyaları paketinden çıkarın.
- Henüz Xcode projeniz yoksa hemen bir proje oluşturun ve yerel makinenize kaydedin. iOS geliştirme konusunda yeniyseniz:
- Yeni proje oluşturun.
- iOS > Uygulama şablonunu seçin.
- Proje seçenekleri ekranında:
- Proje Adı'nı girin.
- 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.
- Arayüz projesini Resimli taslak olarak ayarlayın.
- Dil'i Swift veya Objective-C olarak ayarlayın.
- Aşağıdaki paketleri projenize sürükleyin: (İstendiğinde Gerekirse öğeleri kopyala, lütfen yukarıdakiyle aynı sürümü kullanın'ı seçin.)
GoogleMaps-x.x.x/Base/Frameworks/GoogleMapsBase.xcframework
GoogleMaps-x.x.x/Maps/Frameworks/GoogleMaps.xcframework
GoogleMaps-x.x.x/Maps/Frameworks/GoogleMapsCore.xcframework
- (Yalnızca Premium Plan müşterileri)
GoogleMaps-x.x.x/M4B/Frameworks/GoogleMapsM4B.xcframework
- Projenizde
GoogleMaps.xcframework
öğesini sağ tıklayın ve Finder'da Göster'i seçin. GoogleMaps.bundle
dosyasınıResources
klasöründen Xcode projenizin en üst düzey dizinine sürükleyin. İstendiğinde, Öğeleri hedef grubun klasörüne kopyala seçeneğinin seçilmediğinden emin olun.- Project Navigator'dan projenizi seçin ve uygulamanızın hedefini belirleyin.
- Uygulamanızın hedefinin 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
Belirli bir hedef yerine projenizi seçin ve Derleme Ayarları sekmesini açın. Diğer Bağlayıcı İşaretleri bölümüne
-ObjC
ekleyin. Bu ayarlar görünmüyorsa Derleme Ayarları çubuğundaki filtreyi Temel yerine Tümü olarak değiştirin.iOS için Yerler SDK'sını yüklemek üzere 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ı alma 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
öğesini API anahtarınızla değiştirin.
Swift
API anahtarınızı AppDelegate.swift
cihazınıza aşağıdaki şekilde ekleyin:
- Aşağıdaki içe aktarma ifadesini ekleyin:
import GoogleMaps
- API anahtarınızı kullanarak
application(_:didFinishLaunchingWithOptions:)
yönteminize aşağıdakileri ekleyin:GMSServices.provideAPIKey("YOUR_API_KEY")
- 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:
- Aşağıdaki içe aktarma ifadesini ekleyin:
@import GoogleMaps;
- API anahtarınızı kullanarak
application:didFinishLaunchingWithOptions:
yönteminize aşağıdakileri ekleyin:[GMSServices provideAPIKey:@"YOUR_API_KEY"];
- 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 (İsteğe bağlı): Metal oluşturma çerçevesini kullanmak için kaydolun
iOS için Haritalar SDK'sı, Apple'ın Metal oluşturma çerçevesini kullanmayı etkinleştirmenize olanak tanır. Uygulamanızda Metal oluşturucuyu denemek için, herhangi bir harita görünümü oluşturmadan önce Objective-C'de [GMSServices
setMetalRendererEnabled:YES]
veya Swift'te GMSServices.setMetalRendererEnabled(true)
numaralı telefonu arayın.
SDK'yı manuel olarak yüklüyorsanız Metal.framework
öğesini Xcode'a eklediğinizden de emin olmanız gerekir.
5. Adım: Harita ekleyin
Aşağıdaki kod, mevcut bir ViewController
öğesine basit bir eşlemenin nasıl ekleneceğini göstermektedir:
GMSMapView
örneği oluşturmak ve başlatmak için uygulamanızın varsayılanViewController
öğesine yöntemler ekleyin veya mevcut yöntemleri güncelleyin.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 camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0) let mapView = GMSMapView.map(withFrame: self.view.frame, camera: camera) 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. GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86 longitude:151.20 zoom:6]; GMSMapView *mapView = [GMSMapView mapWithFrame:self.view.frame camera:camera]; mapView.myLocationEnabled = YES; [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
Uygulamanızı çalıştırın. Tek bir işaretçisi Sidney, Avustralya'nın üstünde olan bir harita görürsünüz. İşaretçiyi görüyorsanız ancak harita görünmüyorsa API anahtarınızı sağladığınızı onaylayın.
6. Adım (İsteğe bağlı): API tarafından kullanılan URL şemalarını belirtin
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. Dolayısıyla uygulamanız, ilgili 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:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>googlechromes</string>
<string>comgooglemaps</string>
</array>
Aşağıdaki ekran görüntüsünde Xcode kullanıcı arayüzündeki yapılandırma gösterilmektedir:
Yukarıdaki beyan olmadığında kullanıcılar haritadaki Google logosuna dokunduğunda aşağıdaki hatalar ortaya çıkabilir:
-canOpenURL: failed for URL: "comgooglemaps://" - error: "This app is not allowed to query for scheme comgooglemaps"
-canOpenURL: failed for URL: "googlechromes://" - error: "This app is not allowed to query for scheme googlechromes"
Bu hataları ortadan kaldırmak için beyanı yukarıda açıklandığı gibi 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şturabilir ve çalıştırabilirsiniz. iOS için Haritalar SDK'sı, başlamanıza yardımcı olabilecek birçok eğitici ve örnek uygulama sunar. Ayrıntılı bilgi için: