Konfigurowanie projektu Xcode

Po włączeniu płatności i utworzeniu klucza interfejsu API skonfiguruj projekt Xcode, którego używasz do tworzenia aplikacji.

Dla każdej wersji dostępne są informacje o wersji.

Krok 1. Zainstaluj wymagane oprogramowanie

Aby utworzyć projekt za pomocą pakietu Maps SDK na iOS, pobierz i zainstaluj:

  • Xcode w wersji 26.0 lub nowszej

Krok 2. Utwórz projekt Xcode i zainstaluj pakiet Maps SDK na iOS

Rozmiar instalacji pakietu SDK może się różnić. Na przykład rozmiar instalacji pakietu Maps SDK na iOS w wersji 9.0 wynosi około 18 MB.

Swift Package Manager

Pakiet Maps SDK na iOS można zainstalować za pomocą Swift Package Managera. 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:

  1. Otwórz plik project lub workspace w Xcode, a następnie kliknij File > Add Package Dependencies (Plik > Dodaj zależności pakietu).
  2. Wpisz https://github.com/googlemaps/ios-maps-sdk jako adres URL, naciśnij Enter, aby pobrać pakiet, i kliknij „Add Package” (Dodaj pakiet).
  3. Aby zainstalować konkretną wersję version, ustaw pole Reguła zależności na jedną z opcji opartych na wersji. W przypadku nowych projektów zalecamy podanie najnowszej wersji i użycie opcji „Dokładna wersja”. Gdy skończysz, kliknij „Dodaj pakiet”.
  4. W oknie Choose Package Products (Wybierz produkty pakietu) sprawdź, czy GoogleMaps (w przypadku wersji starszych niż 9.0.0 sprawdź GoogleMaps, GoogleMapsBase i GoogleMapsCore) zostanie dodany do wyznaczonego celu main. Gdy skończysz, kliknij „Dodaj pakiet”.
  5. Aby sprawdzić instalację, otwórz panel General (Ogólne) celu. Zainstalowane pakiety powinny być widoczne w sekcji Frameworks, Libraries, and Embedded Content (Platformy, biblioteki i treści umieszczone). Możesz też sprawdzić sekcję „Zależności pakietu” w „Nawigatorze projektu”, aby zweryfikować pakiet i jego wersję.

Aby zaktualizować package w istniejącym projekcie, wykonaj te czynności:

  1. Jeśli uaktualniasz wersję starszą niż 9.0.0, po uaktualnieniu musisz usunąć te zależności: GoogleMapsBase, GoogleMapsCore i GoogleMapsM4B. Nie usuwaj zależności dla GoogleMaps. Więcej informacji znajdziesz w informacjach o wersji 9.0.0.

    W ustawieniach konfiguracji projektu Xcode znajdź Frameworks, Libraries, and Embedded Content (Platformy, biblioteki i umieszczone treści). Użyj znaku minus(-), aby usunąć te platformy:

    • GoogleMapsBase (tylko w przypadku uaktualnień z wersji starszych niż 9.0.0)
    • GoogleMapsCore (tylko w przypadku uaktualnień z wersji starszych niż 9.0.0)
    • GoogleMapsM4B (tylko w przypadku uaktualnień z wersji starszych niż 9.0.0)
  2. W Xcode kliknij File (Plik) > Packages (Pakiety) > Update To Latest Package Versions (Zaktualizuj do najnowszych wersji pakietów).
  3. Aby sprawdzić instalację, otwórz sekcję Zależności pakietu w Nawigatorze projektu i sprawdź pakiet oraz jego wersję.

Aby usunąć istniejące zależności pakietu Maps SDK na iOS dodane za pomocą CocoaPods, wykonaj te czynności:

  1. Zamknij obszar roboczy Xcode. Otwórz terminal i wykonaj to polecenie:
    sudo gem install cocoapods-deintegrate cocoapods-clean
    pod deintegrate
    pod cache clean --all
  2. Usuń Podfile, Podfile.resolved i Xcode workspace, jeśli nie używasz ich do niczego innego niż CocoaPods.
Aby usunąć zainstalowany ręcznie pakiet Maps SDK na iOS, wykonaj te czynności:
  1. W ustawieniach konfiguracji projektu Xcode znajdź Frameworks, Libraries, and Embedded Content (Platformy, biblioteki i umieszczone treści). Użyj znaku minus (-), aby usunąć te platformy:
    • GoogleMaps
    • GoogleMapsBase (tylko w przypadku instalacji starszych niż wersja 9.2.0)
    • GoogleMapsCore (tylko w przypadku instalacji starszych niż wersja 9.2.0)
    • GoogleMapsM4B (tylko w przypadku instalacji starszych niż wersja 9.0.0)
  2. Z katalogu najwyższego poziomu projektu Xcode usuń pakiet GoogleMaps.

Instalacja ręczna

Z tego przewodnika dowiesz się, jak ręcznie dodać do projektu pakiety XCFrameworks zawierające pakiet Maps SDK 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.

  1. Pobierz te pliki binarne i pliki zasobów pakietu SDK:
  2. Wyodrębnij pliki, aby uzyskać dostęp do XCFrameworks i zasobów.
  3. Jeśli nie masz jeszcze projektu Xcode, utwórz go teraz i zapisz na komputerze lokalnym. Jeśli dopiero zaczynasz tworzyć aplikacje na iOS:
    1. Utwórz nowy projekt.
    2. Wybierz szablon iOS > Aplikacja.
    3. Na ekranie opcji projektu:
      1. Wpisz nazwę projektu.
      2. Zapisz wartość pola Identyfikator pakietu. Możesz użyć tej wartości, aby ograniczyć klucz interfejsu API poniżej.
      3. Ustaw Interfejs projektu na Scenorys.
      4. Ustaw Język na Swift lub Objective-C.
  4. Otwórz kartę Ogólne. Przeciągnij te pliki XCFramework do projektu w sekcji Frameworks, Libraries, and Embedded Content (Platformy, biblioteki i umieszczone treści). Upewnij się, że wybrano opcję Do Not Embed (Nie osadzaj):
    • GoogleMaps.xcframework
  5. Skopiuj plik GoogleMaps.bundle z pobranego pakietu GoogleMapsResources do katalogu najwyższego poziomu projektu Xcode. Gdy pojawi się prośba, wybierz Skopiuj elementy do folderu grupy docelowej.
  6. Wybierz projekt w nawigatorze projektów i określ cel aplikacji.
  7. Otwórz kartę Build Phases (Etapy kompilacji) dla celu aplikacji. W sekcji Link Binary with Libraries (Połącz plik binarny z bibliotekami) dodaj te platformy 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
    • MetricKit.framework
    • OpenGLES.framework (tylko jeśli używasz OpenGL)
    • QuartzCore.framework
    • Security.framework
    • SystemConfiguration.framework
    • UIKit.framework
  8. Wybierz projekt, a nie konkretny cel, i otwórz kartę Build Settings (Ustawienia kompilacji). W sekcji Linking - General -> Other Linker Flags (Łączenie – ogólne -> inne flagi łączące) dodaj -ObjC do „Debug” (Debugowanie) i „Release” (Wydanie). Jeśli te ustawienia nie są widoczne, zmień filtr na pasku Ustawienia kompilacji z Podstawowe na Wszystkie.

  9. Aby zainstalować pakiet SDK Miejsc na iOS XCFramework, zapoznaj się z artykułem Pierwsze kroki z pakietem SDK Miejsc na iOS.

Krok 3. Dodaj klucz interfejsu API do projektu

W sekcji Pobieranie klucza interfejsu API wygenerowano klucz interfejsu API dla aplikacji. Teraz dodaj ten klucz do projektu Xcode.

W poniższych przykładach zastąp YOUR_API_KEY swoim kluczem interfejsu API.

Swift

Dodaj klucz interfejsu API do pliku AppDelegate.swift w ten sposób:

  1. Dodaj tę instrukcję importu:
    import GoogleMaps
  2. Dodaj do metody application(_:didFinishLaunchingWithOptions:) te informacje, używając klucza interfejsu API:
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. Jeśli używasz też Places API, dodaj klucz ponownie w ten sposób:
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

Dodaj klucz interfejsu API do pliku AppDelegate.m w ten sposób:

  1. Dodaj tę instrukcję importu:
    @import GoogleMaps;
  2. Dodaj do metody application:didFinishLaunchingWithOptions: te informacje, używając klucza interfejsu API:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. Jeśli używasz też Places API, dodaj klucz ponownie w ten sposób:
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

Krok 4 (opcjonalny). Sprawdź plik Apple Privacy Manifest

Apple wymaga podawania informacji o prywatności w przypadku aplikacji w App Store. Aby uzyskać aktualne i bardziej szczegółowe informacje, odwiedź stronę z informacjami o prywatności w sklepie z aplikacjami Apple.

Plik Apple Privacy Manifest jest dołączony do pakietu zasobów pakietu SDK. Aby sprawdzić, czy plik manifestu prywatności został dołączony, i zapoznać się z jego zawartością, utwórz archiwum aplikacji i wygeneruj z niego raport dotyczący prywatności.

Krok 5 (opcjonalny): zadeklaruj schematy URI adresów URL używane przez interfejs API

Począwszy od iOS 9 i Xcode 7, aplikacje deklarują schematy URI adresów URL, które zamierzają otwierać, określając je w pliku Info.plist aplikacji. Pakiet Maps SDK na iOS otwiera aplikację mobilną Mapy Google, gdy użytkownik kliknie logo Google na mapie, dzięki czemu Twoja aplikacja może zadeklarować odpowiednie schematy adresów URL.

Aby zadeklarować schematy URI adresów URL używane przez pakiet Maps SDK na iOS, dodaj do pliku Info.plist te wiersze:

 <key>LSApplicationQueriesSchemes</key>
 <array>
        <string>googlechromes</string>
        <string>comgooglemaps</string>
    </array>

Na ilustracji poniżej widać konfigurację w interfejsie Xcode:

Konfiguracja `LSApplicationQueriesSchemes` w Xcode

Bez powyższej deklaracji, gdy użytkownik kliknie 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?

Gdy masz już klucz interfejsu API i projekt Xcode, możesz tworzyć i uruchamiać aplikacje. Pakiet Navigation SDK na iOS zawiera wiele samouczków i przykładowych aplikacji, które pomogą Ci rozpocząć pracę. Więcej informacji: