Xcode projesi oluşturma

Faturalandırmayı etkinleştirip bir API anahtarı oluşturduktan sonra Xcode'u kurmaya hazır olursunuz. kullanacağınız bir başka proje olabilir.

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

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

iOS için Haritalar SDK'sını kullanarak proje oluşturmak için şunları indirmeniz ve yüklemeniz gerekir:

  • X kodu 15.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ı üzerinden yüklenebilir Swift Package Manager'a dokunun. SDK'yı eklemek için iOS bağımlılıkları için mevcut tüm Haritalar SDK'sını kaldırdı.

SDK'yı yeni veya mevcut bir projeye eklemek için aşağıdaki adımları uygulayın:

  1. Xcode project veya workspace dosyanızı açın, ardından Dosya > Paket Bağımlılıkları Ekleyin.
  2. URL olarak https://github.com/googlemaps/ios-maps-sdk adresini girip Enter'a basın. paketi çekin ve "Paket Ekle"yi tıklayın.
  3. Belirli bir version yüklemek için Bağımlılık Kuralı alanını sürüm temelli seçeneklerdir. Yeni projeler için en son sürümü ve "Tam Sürüm"ü kullanarak seçeneğini belirleyin. İşlem tamamlandığında "Paket Ekle"yi tıklayın.
  4. Paket Ürünlerini Seçin penceresinde GoogleMaps adresini doğrulayın (9.0.0'dan önceki sürümler için GoogleMaps, GoogleMapsBase ve GoogleMapsCore) şuna eklenecek: belirlediğiniz main hedefiniz İşlem tamamlandığında "Paket Ekle"yi tıklayın.
  5. Yüklemenizi doğrulamak için hedefinizin General bölmesine gidin. Çerçeveler, Kitaplıklar ve Yerleştirilmiş İçerikler bölümünde yüklü paketleri göreceksiniz. "Paket Bağımlılıkları"nı da görüntüleyebilirsiniz “Project Navigator”ın bölümü .

Mevcut bir projenin package öğesini güncellemek için şu adımları izleyin:

  1. 9.0.0'dan önceki bir sürümden yeni sürüme geçiyorsanız şunları kaldırmanız gerekir: şu bağımlılıklar: GoogleMapsBase, GoogleMapsCore ve Yükseltme işleminden sonra GoogleMapsM4B. Bağımlılığı kaldırmayın: GoogleMaps Daha fazla bilgi için Sürüm 9.0.0 Sürüm Notları.

    Xcode proje yapılandırma ayarlarınızdan Çerçeveler, Kitaplıklar, ve yerleştirilmiş içerik gibi diğer özelliklerden de faydalanabilirsiniz. Aşağıdaki çerçeveyi kaldırmak için eksi işaretini(-) kullanın:

    • GoogleMapsBase (Yalnızca 9.0.0'dan önceki sürümlerden yapılan yükseltmeler için)
    • GoogleMapsCore (Yalnızca 9.0.0'dan önceki sürümlerden yapılan yükseltmeler için)
    • GoogleMapsM4B (Yalnızca 9.0.0'dan önceki sürümlerden yapılan yükseltmeler için)
  2. Xcode'dan "File > (Dosya) > Paketler > En Son Paket Sürümlerine Güncelleyin".
  3. Yüklemenizi doğrulamak için Project Navigator'ın Paket Bağımlılıkları bölümüne gidin .

CocoaPods, aşağıdaki adımları uygulayın:

  1. 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
    .
  2. Podfile, Podfile.resolved ve CocoaPods dışında bir şey için kullanmıyorsanız Xcode workspace.

Manuel olarak yüklenmiş olan mevcut iOS için Haritalar SDK'sını kaldırmak için aşağıdaki adımları izleyin:
  1. Xcode proje yapılandırma ayarlarınızdan Çerçeveler, Kitaplıklar, ve yerleştirilmiş içerik gibi diğer özelliklerden de faydalanabilirsiniz. Aşağıdaki çerçeveyi kaldırmak için eksi işaretini(-) kullanın:
    • GoogleMaps
    • GoogleMapsBase (Yalnızca yüklemeler için 9.0.0'dan önceki sürümler)
    • GoogleMapsCore (Yalnızca yüklemeler için 9.0.0'dan önceki sürümler)
    • GoogleMapsM4B (Yalnızca yüklemeler için 9.0.0'dan önceki sürümler)
  2. Xcode projenizin üst düzey dizininden GoogleMaps öğesini kaldırın. paket.

CocoaPods

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

CocoaPods aracınız henüz yoksa şu tarihe kadar macOS'e yükleyin: aşağıdaki komutu terminalden çalıştırın. Ayrıntılar için CocoaPods Başlangıç kılavuzu.

sudo gem install cocoapods

iOS için Haritalar SDK'sı için bir Podfile oluşturun ve yüklemeniz gerekir:

  1. Henüz bir Xcode projeniz yoksa şimdi bir tane oluşturun ve yerel makinenize bakın. iOS uygulaması geliştirme konusunda yeniyseniz:
    1. Yeni proje oluşturun.
    2. iOS > Uygulama şablonu.
    3. Proje seçenekleri ekranında:
      1. Proje Adı'nı girin.
      2. Paket 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. Interface 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 projenizin bağımlılıklarını tanımlar.
  3. Podfile öğesini düzenleyin ve bağımlılıklarınızla birlikte ekleyin. versions. Aşağıda, iOS için Haritalar SDK'sı: .
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '15.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps', '8.4.0'
    end
    
    Yeni bir sürüm olduğunu tespit etmek için pod outdated uygulamasını düzenli olarak çalıştırdığınızdan emin olun. her zaman en yeni sürüme sahip olmanızı sağlar. Gerekiyorsa en son sürüme geçin.
  4. Podfile dosyasını 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, Bağımlılıklarla birlikte Podfile öğesinde belirtilen API'ler yardımcı olabilir.

    pod install
  7. Xcode'u kapatın ve ardından projenizin klasörünü açın (çift tıklayın) .xcworkspace dosyasını kullanarak Xcode'u başlatın. Bu andan itibaren, projeyi açmak için .xcworkspace dosyasını kullanmanız gerekir.

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

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

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 dahil olmak üzere birden fazla platformda kullanabileceğiniz bir ikili programdır.
  1. Aşağıdaki SDK ikili programlarını ve kaynak dosyalarını indirin:
  2. XCFrameworks ve kaynaklara erişmek için dosyaları çıkarın.
  3. Henüz bir Xcode projeniz yoksa şimdi bir tane oluşturun ve yerel makinenize bakın. iOS uygulaması geliştirme konusunda yeniyseniz:
    1. Yeni proje oluşturun.
    2. iOS > Uygulama şablonu.
    3. Proje seçenekleri ekranında:
      1. Proje Adı'nı girin.
      2. Paket 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. Interface projesini Resimli Taslak olarak ayarlayın.
      4. Dil'i Swift veya Objective-C olarak ayarlayın.
  4. Genel sekmesini açın. Aşağıdaki XCFrameworks'ü projenize sürükleyin Çerçeveler, Kitaplıklar ve Yerleştirilmiş İçerikler bölümünde bulabilirsiniz. Şunlardan emin olun: her XCFramework için Do Not Embedded (Yerleştirme) seçeneğini tıklayın:
    • GoogleMaps.xcframework
    • GoogleMapsBase.xcframework
    • GoogleMapsCore.xcframework
  5. GoogleMaps.bundle öğesini GoogleMapsResources'tan kopyalayın. dosyayı Xcode projenizin üst düzey dizinine indirin. Projeyi tamamlamak için İstendiğinde öğeleri hedef grubun klasörüne kopyalayın.
  6. Project Navigator'dan projenizi seçin ve hedefi belirleyebilirsiniz.
  7. Uygulamanızın hedefine ait Derleme Aşamaları sekmesini açın. İkili Program ile Kitaplıkları Bağla bölümüne aşağıdakini ekleyin çerçeveler ve kitaplıklar:
    • 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 (Yalnızca OpenGL kullanıyorsanız)
    • QuartzCore.framework
    • SystemConfiguration.framework
    • UIKit.framework
  8. Belirli bir hedef yerine projenizi seçin ve Derleme Ayarları sekmesi. Bağlantı - Genel -> Diğer Bağlayıcı İşaretler bölümünde, -ObjC öğesini "Hata ayıklama"ya ekleyin ve "Serbest bırak". Bu ayarlar görünmüyor, Derleme Ayarları çubuğundan filtreyi değiştirin Temel'den Tümü'ne.

  9. iOS XCFramework için Yerler SDK'sını yüklemek üzere bkz. Başlarken ile öğrenin.

3. Adım: Apple Gizlilik Manifest dosyasını inceleyin

Apple, App Store'daki uygulamalar için uygulama gizlilik ayrıntılarını zorunlu kılar. Güncellemeler ve daha fazla bilgi için Apple App Store Gizlilik Ayrıntıları sayfasını ziyaret edin.

Apple Gizlilik Manifest dosyası, SDK'nın kaynak paketinde yer almaktadır. Gizlilik Manifest Dosyasının dahil edildiğini doğrulamak ve içeriğini incelemek için uygulamanızın arşivini oluşturup arşivden bir gizlilik raporu oluşturun.

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

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

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

Swift

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

  1. Aşağıdaki içe aktarma deyimini ekleyin:
    import GoogleMaps
    .
  2. Şunları ekleyin: application(_:didFinishLaunchingWithOptions:) yöntemini kullanarak API anahtarınızı girin:
    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. Aşağıdaki içe aktarma deyimini ekleyin:
    @import GoogleMaps;
    .
  2. Şunları ekleyin: application:didFinishLaunchingWithOptions: yöntemini kullanarak API anahtarınızı girin:
    [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"];
    .

5. Adım: Bir 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 sürümünden itibaren, uygulamalar uygulamanın Info.plist dosyasında şemaları belirterek açılmayı amaçlamanız gerekir. İlgili içeriği oluşturmak için kullanılan iOS için Haritalar SDK'sı, kullanıcı tıkladığında Google Haritalar mobil uygulamasını açar. harita üzerinde Google logosunu görürsünüz. Böylelikle uygulamanız, ilgili URL'yi oluşturabilirsiniz.

iOS için Haritalar SDK'sı tarafından kullanılan URL şemalarını bildirmek için Info.plist için şu satırları ekleyin:

LSApplicationQueriesSchemes googlechrome comgooglemaps

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

LSApplicationSorgularSchemes yapılandırması
X kodu

Yukarıdaki beyan olmadan kullanıcı sayfaya dokunduğunda aşağıdaki hatalar oluşabilir haritadaki Google logosu:

  • -canOpenURL: şu URL için başarısız oldu: "comgooglemaps://" - hata: "Bu uygulama comgooglemaps şemasını sorgulamasına izin verildi"
  • -canOpenURL: şu URL için başarısız oldu: "googlechromes://" - hata: "Bu uygulama googlechrome şemalarını sorgulama izni verildi"

Bu hataları ortadan kaldırmak için beyanı Info.plist sayfanıza ekleyin.

Sırada ne var?

Artık bir API anahtarınız ve Xcode projeniz var. Şimdi uygulamalar oluşturup çalıştırabilirsiniz. iOS için Gezinme SDK'sı size yardımcı olabilecek birçok eğitici ve örnek uygulama sunar . Ayrıntılı bilgi için: