Po włączeniu płatności i utworzeniu klucza interfejsu API możesz skonfigurować projekt Xcode, którego używasz do tworzenia aplikacji.
Informacje o wersji są dostępne dla każdej wersji.
Krok 1. Zainstaluj wymagane oprogramowanie
Aby utworzyć projekt za pomocą pakietu Maps SDK na iOS, musisz pobrać i zainstalować:
- Xcode w wersji 15.0 lub nowszej
Krok 2. Utwórz projekt Xcode i zainstaluj pakiet SDK Maps na iOS
Menedżer pakietów Swift
Pakiet SDK Maps na iOS można zainstalować za pomocą menedżera pakietów Swift. Aby dodać pakiet SDK, usuń wszystkie istniejące zależności Maps SDK na iOS.
Aby dodać pakiet SDK do nowego lub istniejącego projektu, wykonaj te czynności:
-
Otwórz Xcode
project
lubworkspace
, a następnie kliknij Plik > Dodaj zależności pakietu. - Wpisz https://github.com/googlemaps/ios-maps-sdk jako adres URL, naciśnij Enter, aby zaimportować pakiet, i kliknij „Dodaj pakiet”.
-
Aby zainstalować określoną wersję
version
, ustaw pole Reguła zależności na jedną z opcji opartych na wersji. W przypadku nowych projektów zalecamy określenie najnowszej wersji i użycie opcji „Dokładna wersja”. Gdy skończysz, kliknij „Dodaj pakiet”.
Aby zaktualizować package
w istniejącym projekcie, wykonaj te czynności:
Jeśli przechodzisz z wersji starszej niż 9.0.0, musisz usunąć te zależności:
GoogleMapsBase
,GoogleMapsCore
iGoogleMapsM4B
. Nie usuwaj zależności dlaGoogleMaps
. Więcej informacji znajdziesz w notatkach do wersji 9.0.0.W ustawieniach konfiguracji projektu Xcode znajdź Frameworki, biblioteki i zawartość osadzona. Aby usunąć te ramy, użyj znaku minusa(-):
GoogleMapsBase
(dotyczy tylko uaktualnień z wersji starszych niż 9.0.0)GoogleMapsCore
(tylko w przypadku uaktualnienia z wersji starszych niż 9.0.0)GoogleMapsM4B
(tylko w przypadku uaktualnienia z wersji starszych niż 9.0.0)
- W Xcode wybierz „Plik > Pakiety > Zaktualizuj do najnowszych wersji pakietów”.
- Aby zweryfikować instalację, otwórz sekcję Zależności pakietu w Nawigatorze projektu i sprawdź pakiet oraz jego wersję.
Aby usunąć istniejące zależności Maps SDK na iOS dodane za pomocą funkcji CocoaPods
, wykonaj te czynności:
- Zamknij obszar roboczy Xcode. Otwórz terminal i uruchom to polecenie:
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
-
Usuń
Podfile
,Podfile.resolved
i Xcodeworkspace
, jeśli nie używasz ich do niczego innego niż CocoaPods.
-
W ustawieniach konfiguracji projektu Xcode znajdź Frameworki, biblioteki i zawartość osadzona. Aby usunąć te ramy, kliknij minus(-):
GoogleMaps
GoogleMapsBase
(dotyczy tylko instalacji w wersjach starszych niż 9.2.0)GoogleMapsCore
(dotyczy tylko instalacji w wersjach starszych niż 9.2.0)GoogleMapsM4B
(dotyczy tylko instalacji w wersjach starszych niż 9.0.0)
-
W najwyższym katalogu projektu Xcode usuń pakiet
GoogleMaps
.
Instalacja ręczna
Z tego przewodnika dowiesz się, jak ręcznie dodać do projektu XCFrameworks z pakietem SDK Maps na iOS i skonfigurować ustawienia kompilacji w Xcode. XCFramework to pakiet binarny, którego można używać na wielu platformach, w tym na maszynach z procesorami Apple.
- Pobierz te pliki binarne i pliki zasobów pakietu SDK:
- Wypakuj pliki, aby uzyskać dostęp do XCFrameworks i zasobów.
- Jeśli nie masz jeszcze projektu Xcode, utwórz go i zapisz na komputerze. Jeśli dopiero zaczynasz zajmować się programowaniem na iOS:
- Utwórz nowy projekt.
- Wybierz szablon iOS > Aplikacja.
- Na ekranie opcji projektu:
- Wpisz Nazwa projektu.
- Zapisz wartość w polu Identyfikator pakietu. Możesz użyć tej wartości, aby ograniczyć klucz API poniżej.
- Ustaw w projekcie opcję Interfejs na Storyboard.
- W polu Język wybierz Swift lub Objective-C.
-
Otwórz kartę Ogólne. Przeciągnij ten XCFramework do projektu w sekcji Frameworky, biblioteki i osadzone treści. Pamiętaj, aby wybrać Nie wklejaj:
GoogleMaps.xcframework
-
Skopiuj plik
GoogleMaps.bundle
z katalogu GoogleMapsResources, który został pobrany do katalogu głównego projektu Xcode. Gdy pojawi się odpowiedni komunikat, wybierz Skopiuj elementy do folderu grupy docelowej. - W Nawigatorze projektów wybierz projekt, a potem element docelowy aplikacji.
-
Otwórz kartę Etapy kompilacji dla docelowego urządzenia aplikacji.
W sekcji Połącz plik binarny z bibliotekami dodaj te frameworki i biblioteki:
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
(dotyczy tylko OpenGL)QuartzCore.framework
Security.framework
SystemConfiguration.framework
UIKit.framework
-
Wybierz projekt, a nie konkretny element docelowy, i otwórz kartę Ustawienia kompilacji. W sekcji Łączenie – Ogólne –> Inne flagi linkera dodaj
-ObjC
do opcji „Debugowanie” i „Wersja produkcyjna”. Jeśli te ustawienia są niewidoczne, zmień filtr na pasku Ustawienia kompilacji z Podstawowe na Wszystkie. -
Aby zainstalować pakiet SDK Miejsc na iOS w ramach XCFramework, zapoznaj się z artykułem Pierwsze kroki z pakietem SDK Miejsc na iOS.
CocoaPods
Pakiet SDK Map na iOS jest dostępny jako pakiet CocoaPods. CocoaPods to menedżer zależności typu open source dla projektów Cocoa w Swift i Objective-C.
Jeśli nie masz jeszcze narzędzia CocoaPods, zainstaluj je w systemie macOS, uruchamiając to polecenie w terminalu. Więcej informacji znajdziesz w przewodniku CocoaPods.
sudo gem install cocoapods
Utwórz Podfile
dla pakietu Maps SDK na iOS i użyj go do zainstalowania interfejsu API i jego zależności:
- Jeśli nie masz jeszcze projektu Xcode, utwórz go i zapisz na komputerze lokalnym. Jeśli dopiero zaczynasz zajmować się programowaniem na iOS:
- Utwórz nowy projekt.
- Wybierz szablon iOS > Aplikacja.
- Na ekranie opcji projektu:
- Wpisz Nazwa projektu.
- Zapisz wartość w polu Identyfikator pakietu. Możesz użyć tej wartości, aby ograniczyć klucz API poniżej.
- Ustaw w projekcie opcję Interfejs na Storyboard.
- W polu Język wybierz Swift lub Objective-C.
- Utwórz w katalogu projektu plik o nazwie
Podfile
. Ten plik definiuje zależności projektu. - Zmodyfikuj
Podfile
i dodaj zależności wraz z ich wersjami. Oto przykład, który zawiera zależność wymaganą przez pakiet SDK Map Google na iOS: Regularnie uruchamiajsource 'https://github.com/CocoaPods/Specs.git' platform :ios, '15.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleMaps', '9.2.0' end
pod outdated
, aby wykrywać nowsze wersje i utrzymywać najnowszą. W razie potrzeby zaktualizuj ją do najnowszej wersji. - Zapisz
Podfile
. Otwórz terminal i przejdź do katalogu zawierającego
Podfile
:cd <path-to-project>
Uruchom polecenie
pod install
. Spowoduje to zainstalowanie interfejsów API określonych wPodfile
wraz z ich zależnościami.pod install
Zamknij Xcode, a następnie otwórz (kliknij dwukrotnie) plik
.xcworkspace
projektu, aby uruchomić Xcode. Od tego momentu do otwierania projektu musisz używać pliku.xcworkspace
.
Aby zaktualizować interfejs API w istniejącym projekcie, wykonaj te czynności:
- Otwórz terminal i przejdź do katalogu projektu zawierającego plik
Podfile
. - Uruchom polecenie
pod update
. Spowoduje to zaktualizowanie wszystkich interfejsów API określonych wPodfile
do najnowszej wersji.
Krok 3. Dodaj klucz interfejsu API do projektu
W sekcji Pobieranie klucza interfejsu API wygenerowałeś/wygenerowałaś klucz interfejsu API dla aplikacji. Teraz dodaj ten klucz do projektu Xcode.
W podanych niżej przykładach zastąp YOUR_API_KEY
swoim kluczem API.
Swift
Aby dodać klucz interfejsu API do AppDelegate.swift
:
- Dodaj to polecenie importowania:
import GoogleMaps
- Dodaj do metody
application(_:didFinishLaunchingWithOptions:)
te informacje, korzystając z klucza interfejsu API:GMSServices.provideAPIKey("YOUR_API_KEY")
- Jeśli używasz też interfejsu Places API, dodaj klucz ponownie w ten sposób:
GMSPlacesClient.provideAPIKey("YOUR_API_KEY")
Objective-C
Aby dodać klucz interfejsu API do AppDelegate.m
:
- Dodaj to polecenie importowania:
@import GoogleMaps;
- Dodaj do metody
application:didFinishLaunchingWithOptions:
te informacje, korzystając z klucza interfejsu API:[GMSServices provideAPIKey:@"YOUR_API_KEY"];
- Jeśli używasz też interfejsu Places API, dodaj klucz ponownie w ten sposób:
[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];
Krok 4 (opcjonalny). Sprawdź plik manifestu prywatności Apple
Apple wymaga, aby aplikacje w App Store zawierały informacje o prywatności. Aby uzyskać więcej informacji, przejdź na stronę z informacjami o ochronie prywatności w Apple App Store.
Plik Apple Privacy Manifest jest zawarty w pakiecie zasobów pakietu SDK. Aby sprawdzić, czy plik manifestu prywatności został uwzględniony, i przeanalizować jego zawartość, utwórz archiwum aplikacji i wygeneruj raport dotyczący prywatności na podstawie tego archiwum.
Krok 5 (opcjonalnie): zadeklaruj schematy adresów URL używane przez interfejs API
Począwszy od iOS 9 i Xcode 7 aplikacje mogą deklarować schematy adresów URL, które mają otwierać, określając je w pliku Info.plist
aplikacji. Gdy użytkownik kliknie logo Google na mapie, pakiet SDK Maps na iOS otwiera aplikację mobilną Mapy Google, dlatego Twoja aplikacja może zadeklarować odpowiednie schematy adresów URL.
Aby zadeklarować schematy adresów URL używane przez Maps SDK na iOS, dodaj do pliku Info.plist
te wiersze:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>googlechromes</string>
<string>comgooglemaps</string>
</array>
Na tym zrzucie ekranu widać konfigurację w interfejsie Xcode:
Bez tej deklaracji po kliknięciu logo Google na mapie mogą wystąpić te błędy:
-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"
Aby wyeliminować te błędy, dodaj deklarację do pliku Info.plist
.
Co dalej?
Teraz, gdy masz klucz interfejsu API i projekt Xcode, możesz tworzyć i uruchamiać aplikacje. Pakiet SDK do nawigacji na iOS zawiera wiele samouczków i przykładowych aplikacji, które pomogą Ci zacząć. Więcej informacji znajdziesz w tych artykułach:
- Te samouczki są zalecanym punktem wyjścia:
- Zapoznaj się z dostępnymi przykładowymi fragmentami kodu i codelabs.
- Aby uzyskać kompleksowe rozwiązania, zapoznaj się z dostępnymi rozwiązaniami w Mapach.