Faturalandırmayı etkinleştirip bir API anahtarı oluşturduktan sonra uygulamanızı geliştirmek için kullanacağınız Xcode projesini ayarlamaya hazır olursunuz.
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 için aşağıdakileri indirmeniz ve yüklemeniz gerekir:
- Xcode 14.0 sürümü veya sonraki sürümler
2. Adım: Xcode projesini oluşturun ve iOS için Haritalar SDK'sını yükleyin
Swift Paket Yöneticisi
iOS için Haritalar SDK'sı, Swift Package Manager aracılığıyla yüklenebilir. SDK'yı eklemek istiyorsanız iOS için mevcut tüm Haritalar SDK'sı bağımlılıklarını kaldırdığınızdan emin olun.
SDK'yı yeni veya mevcut bir projeye eklemek için şu adımları uygulayın:
-
Xcode
project
veyaworkspace
cihazınızı açın ve File (Dosya) > Add Package Dependencies'e (Paket Bağımlılıkları Ekle) gidin. - URL olarak https://github.com/googlemaps/ios-maps-sdk girin, paketi çekmek için Enter tuşuna basın ve "Paket Ekle"yi tıklayın.
-
Belirli bir
version
yüklemek için Bağımlılık Kuralı alanını sürüm tabanlı seçeneklerden birine ayarlayın. Yeni projeler için en son sürümü belirtmenizi ve "Tam Sürüm" seçeneğini kullanmanızı öneririz. İşlem tamamlandığında "Paket Ekle"yi tıklayın. -
Paket Ürünlerini Seçin penceresinde
GoogleMaps
,GoogleMapsBase
veGoogleMapsCore
öğelerinin belirlediğinizmain
hedefine ekleneceğini doğrulayın. İşlem tamamlandığında "Paket Ekle"yi tıklayın. -
Yüklemenizi doğrulamak için hedefinizin
General
bölmesine gidin. Çerçeveler, Kitaplıklar ve Yerleşik İçerik'te yüklü paketleri görürsünüz. Paketi ve sürümünü doğrulamak için "Project Navigator"daki "Paket Bağımlılıkları" bölümüne de bakabilirsiniz.
Mevcut bir proje için package
öğesini güncellemek üzere şu adımları uygulayın:
- Xcode'dan "Dosya > Paketler > En Son Paket Sürümlerine Güncelle"ye gidin.
- Yüklemenizi doğrulamak için Project Navigator'ın Paket Bağımlılıkları bölümüne giderek paketi ve sürümünü doğrulayın.
CocoaPods
kullanılarak eklenen mevcut iOS bağımlılıkları için Haritalar SDK'sını kaldırmak üzere şu adımları izleyin:
- Xcode çalışma alanınızı kapatın. Terminali açın ve aşağıdaki komutu yürütün:
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
-
Podfile
,Podfile.resolved
ve Xcodeworkspace
öğelerini CocoaPods dışında bir şey için kullanmıyorsanız kaldırın.
-
Xcode proje yapılandırma ayarlarınızdan Frameworks, Libraries ve Embedded Content'i bulun. Eksi işaretini(-) kullanarak aşağıdaki çerçeveyi kaldırın:
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
-
Xcode projenizin en üst düzey dizininden
GoogleMaps
paketini kaldırın.
CocoaPods
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.
Halihazırda 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 göz atın.
sudo gem install cocoapods
iOS için Haritalar SDK'sı için bir Podfile
oluşturun. Bu SDK'yı kullanarak API'yi ve bağımlılıklarını yükleyin:
- Henüz bir Xcode projeniz yoksa hemen bir proje oluşturun ve yerel makinenize kaydedin. iOS'te uygulama 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.
- Projenin Arayüz'ünü 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 bağımlılıklarınızı versions birlikte 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, '15.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleMaps', '8.4.0' end
Her zaman en güncel durumda olduğunuzdan emin olmak için daha yeni bir sürüm olduğunu algılamak üzerepod outdated
aracı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
öğelerini 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 olabilecek bağımlılıklarını 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). Bundan sonra, 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çıp
Podfile
öğesini içeren proje dizinine gidin. pod update
komutunu çalıştırın. Bu işlem,Podfile
içinde belirtilen tüm API'leri en yeni sürüme günceller.
Manuel Yükleme
Bu kılavuzda, iOS için Haritalar SDK'sını içeren XCFrameworks'ü projenize manuel olarak nasıl ekleyeceğiniz 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 fazla platformda kullanabileceğiniz bir ikili program paketidir.- Aşağıdaki SDK ikili programlarını ve kaynak dosyalarını indirin:
- XCFrameworks ve kaynaklara erişmek için sıkıştırılmış dosyaları paketinden çıkarın.
- Henüz bir Xcode projeniz yoksa hemen bir proje oluşturun ve yerel makinenize kaydedin. iOS'te uygulama 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.
- Projenin Arayüz'ünü Resimli taslak olarak ayarlayın.
- Dil'i Swift veya Objective-C olarak ayarlayın.
-
Genel sekmesini açın. Aşağıdaki XCFrameworks'ü, Frameworks, Libraries and Embedded Content (Çerçeveler, Kitaplıklar ve Yerleştirilmiş İçerik) altındaki projenize sürükleyin. Her
XCFramework için Yerleştirme'yi seçtiğinizden emin olun:
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
-
İndirdiğiniz GoogleMapsResources'dan
GoogleMaps.bundle
dosyasını, Xcode projenizin en üst düzey dizinine kopyalayın. İstendiğinde Öğeleri hedef grubun klasörüne kopyala'yı seçtiğinizden 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çın.
Link Binary with kitaplıklar'da aşağıdaki çerçeveleri ve kitaplıkları ekleyin:
Accelerate.framework
Contacts.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. Bağlantı - Genel -> Diğer Bağlayıcı İşaretleri bölümünde "Hata Ayıklama" ve "Sürüm"e
-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 sayfasını inceleyin.
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
yerine API anahtarınızın kullanın.
konusuna bakı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 GoogleMaps
- API anahtarınızı kullanarak
application(_:didFinishLaunchingWithOptions:)
yönteminize aşağıdaki kodu 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ğıdaki kodu 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: 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ı bildirin
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:
Aşağıdaki ekran görüntüsü, Xcode kullanıcı arayüzündeki yapılandırmayı gösterir:
Yukarıdaki beyan olmadan kullanıcı 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 sorgulama yapmasına izin verilmiyor" -canOpenURL: URL için başarısız oldu: "googlechromes://" - error: "Bu uygulamanın, şema için sorgu sorgu yapması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şturabilir ve çalıştırabilirsiniz. iOS için Gezinme SDK'sı, başlamanıza yardımcı olabilecek birçok eğitici ve örnek uygulama sağlar. Daha fazla bilgi için: