Depois de ativar o faturamento e criar uma chave de API, configure o Xcode projeto que você usa para desenvolver seu app.
As notas da versão estão disponíveis para cada lançamento.
Etapa 1: instalar o software necessário
Para criar um projeto usando o SDK do Navigation para iOS, faça o download e instale:
- Xcode versão 15.0 ou mais recente
Etapa 2: criar o projeto Xcode e instalar o SDK do Navigation
Gerenciador de pacotes do Swift
O SDK do Navigation pode ser instalado via Gerenciador de pacotes do Swift (em inglês). Para adicionar o SDK, verifique se você tem removeu todas as dependências atuais do SDK do Navigation;
Para adicionar o SDK a um projeto novo ou existente, siga estas etapas:
-
Abra seu Xcode
project
ouworkspace
e acesse File > Adicionar dependências de pacote. - Insira https://github.com/googlemaps/ios-navigation-sdk como o URL e pressione Enter. para extrair o pacote e clicar em "Adicionar pacote".
-
Para instalar um
version
específico, defina o campo Regra de dependência como um dos as opções baseadas em versão. Para novos projetos, recomendamos especificar a versão mais recente e usando a "versão exata" é a melhor opção. Quando terminar, clique em "Adicionar pacote". -
Na janela Choose Package Products, verifique se
GoogleNavigation
será adicionado a sua meta demain
designada. Quando terminar, clique em "Adicionar pacote". -
Para verificar sua instalação, navegue até o painel
General
do destino. Em Frameworks, bibliotecas e conteúdo incorporado, você verá os pacotes instalados. Também é possível consultar a página "Package Dependencies" do "Navegador do projeto" para verificar o pacote e sua versão.
Para atualizar o package
de um projeto existente, siga estas etapas:
Se você estiver fazendo upgrade de uma versão anterior à 9.0.0, será necessário remover das seguintes dependências:
GoogleMapsBase
,GoogleMapsCore
eGoogleMapsM4B
após o upgrade. Não remova a dependência deGoogleMaps
: Para mais informações, consulte a Notas de lançamento da versão 9.0.0.Nas configurações do seu projeto do Xcode, localize Frameworks, bibliotecas, e conteúdo incorporado. Use o sinal de menos(-) para remover o seguinte framework:
GoogleMapsBase
(apenas para upgrades de versões anteriores à 9.0.0)GoogleMapsCore
(apenas para upgrades de versões anteriores à 9.0.0)GoogleMapsM4B
(apenas para upgrades de versões anteriores à 9.0.0)
- No Xcode, acesse "File > Pacotes > Atualize para as versões mais recentes do pacote".
- Para verificar a instalação, vá para a seção Package Dependencies do Project Navigator para verificar o pacote e sua versão.
Para remover as dependências do SDK do Navigation adicionadas usando
CocoaPods
, siga estas etapas:
- Feche seu espaço de trabalho do Xcode. Abra o terminal e execute o seguinte comando:
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
-
Remova
Podfile
,Podfile.resolved
e Xcodeworkspace
, se você não estiver usando para algo diferente do CocoaPods.
-
Nas configurações do seu projeto do Xcode, localize Frameworks, bibliotecas,
e conteúdo incorporado. Use o sinal de menos(-) para remover o seguinte framework:
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
GoogleNavigation.xcframework
-
No diretório de nível superior do seu projeto Xcode, remova o
GoogleMaps
feixe.
CocoaPods
O SDK do Navigation para iOS está disponível como uma CocoaPods (em inglês). O CocoaPods é um gerenciador de dependências de código aberto para projetos Cocoa em Swift e Objective-C.
Se você ainda não tem essa ferramenta, instale-a no macOS executando o seguinte comando no terminal. Para mais detalhes, consulte a CocoaPods Guia explicativo.
sudo gem install cocoapods
Crie um Podfile
para o SDK do Navigation para iOS e use
para instalar a API e as dependências dela:
- Se você ainda não tiver um projeto Xcode, crie um agora e salve-o em
na máquina local. Se você é novo no desenvolvimento para iOS:
- Crie um novo projeto.
- Selecione a guia iOS > App.
- Na tela de opções do projeto:
- Digite o Nome do projeto.
- Registre o valor do campo Identificador do pacote. Use esse valor para restringir sua chave de API abaixo.
- Defina a Interface do projeto como Storyboard.
- Defina a linguagem como Swift ou Objective-C.
- Crie um arquivo chamado
Podfile
no seu diretório do projeto para definir as dependências. - Edite o
Podfile
e adicione suas dependências com as versões. Aqui está um exemplo que inclui a dependência necessária para o SDK do Navigation para iOS: # No de referência de instalação do Cocoapods Executesource 'https://github.com/CocoaPods/Specs.git' platform :ios, '15.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleNavigation', '9.1.0' end
pod outdated
regularmente para detectar mais mais recentes. Se necessário, faça upgrade para a versão mais recente. - Salve o
Podfile
. Abra um terminal e acesse o diretório que contém o
Podfile
:cd <path-to-project>
Execute o comando
pod install
. Isso instala APIs especificadas noPodfile
, com todas as dependências.pod install
Feche o Xcode e clique duas vezes no arquivo
.xcworkspace
do projeto para iniciar o programa. Depois disso, é preciso usar o arquivo.xcworkspace
para abrir o projeto.
Para atualizar a API de um projeto atual, siga estas etapas:
- Abra um terminal e acesse o diretório do projeto que contém o
Podfile
. - Execute o comando
pod update
. Isso atualiza todas as APIs especificado emPodfile
para a versão mais recente.
Instalação manual
Este guia mostra como adicionar manualmente os XCFrameworks que contêm o SDK do Navigation para iOS e o SDK do Maps para iOS ao seu projeto e defina as configurações de build no Xcode. Um XCFramework é um pacote binário que pode ser usado em várias plataformas, incluindo máquinas que usam o chipset M1.
Siga estas etapas para instalar os XCFrameworks do SDK do Navigation para iOS. e o SDK do Maps para iOS:
- Faça o download dos seguintes arquivos binários e de recursos do SDK:
- Inicialize o Xcode e abra ou crie um projeto. Se você não tem experiência com o iOS, crie um novo projeto e selecione o Modelo de app iOS.
- Remova todas as referências existentes de Maps, Navigation e Places do projeto.
- Arraste os seguintes XCFrameworks para o seu projeto em
Frameworks, bibliotecas e conteúdo incorporado para instalar a API do Google Maps
e SDKs de navegação (quando solicitado, selecione Copy items if needed):
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
GoogleNavigation.xcframework
- Arraste
GoogleMaps.bundle
dos GoogleMapsResources que você transferiu por download para o diretório de nível superior do seu projeto Xcode. Quando solicitado, verifique se a opção Copiar itens se necessário está selecionada. - Arraste
GoogleNavigation.bundle
dos GoogleNavigationResources que você transferiu por download para o diretório de nível superior do seu projeto Xcode. Quando solicitado, verifique se A opção Copy items into destination group's folder está selecionada. - Selecione seu projeto no Project Navigator e escolha seu de destino do aplicativo.
- Abra a guia Fases de compilação e, dentro de
Vincule o binário às bibliotecas, adicione os seguintes frameworks e bibliotecas:
Accelerate.framework
AudioToolbox.framework
AVFoundation.framework
Contacts.framework
CoreData.framework
CoreGraphics.framework
CoreImage.framework
CoreLocation.framework
CoreTelephony.framework
CoreText.framework
GLKit.framework
ImageIO.framework
libc++.tbd
libxml2.tbd
libz.tbd
Metal.framework
OpenGLES.framework
QuartzCore.framework
Security.framework
SystemConfiguration.framework
UIKit.framework
UserNotifications.framework
WebKit.framework
- No aplicativo do seu aplicativo, selecione a guia Capabilities,
ative os Background Modes e os seguintes modos:
- Áudio, AirPlay e picture-in-picture
- Atualizações de local
- Escolha seu projeto, em vez de um destino específico, e abra o Build
Configurações. Na seção Outras sinalizações do vinculador,
adicione
‑ObjC
para debug e release. Se essas configurações não estiverem visíveis, altere o filtro na Barra Configurações da versão de Básico para Todos. - Abra
Info.plist
e adicione estes pares de chave-valor:- Chave:
NSLocationWhenInUseUsageDescription
(Privacidade - Descrição de uso do local quando em uso)
Valor: "Este app precisa de permissão para usar seu local na navegação guiada." - Chave:
NSLocationAlwaysAndWhenInUseUsageDescription
(Privacidade: descrição de uso do local sempre e quando em uso)
Valor: "Este app precisa de permissão para usar seu local na navegação guiada."
- Chave:
Etapa 3: inspecionar o arquivo do Manifesto de privacidade da Apple
A Apple exige detalhes de privacidade de apps na App Store. Acesse a página de detalhes de privacidade da App Store da Apple para atualizações e mais informações.
O arquivo do Manifesto de privacidade da Apple está incluído no pacote de recursos do SDK. Para verificar se o arquivo do manifesto de privacidade foi incluído e inspecionar o conteúdo dele, crie um arquivo do seu app e gere um relatório de privacidade.
Etapa 4: adicionar sua chave de API ao projeto
Os exemplos a seguir mostram como adicionar a chave de API ao seu projeto no Xcode:
Swift
Inclua sua chave de API ao AppDelegate.swift
da seguinte maneira:
- Adicione as seguintes instruções de importação:
import GoogleMaps import GoogleNavigation
- Adicione o seguinte ao seu
application(_:didFinishLaunchingWithOptions:)
:GMSServices.provideAPIKey("YOUR_API_KEY")
Objective-C
Inclua sua chave de API ao AppDelegate.m
da seguinte maneira:
- Adicione as seguintes instruções de importação:
@import GoogleMaps; @import GoogleNavigation;
- Adicione o seguinte ao seu
application:didFinishLaunchingWithOptions:
:[GMSServices provideAPIKey:@"YOUR_API_KEY"];
Etapa 5: adicionar um mapa
Esse código demonstra como adicionar um mapa simples a um ViewController
existente.
incluindo algumas configurações iniciais para navegação.
Antes que a navegação possa ser ativada, o usuário deve concordar com os termos e
pelas condições Para solicitar ao usuário, chame
GMSNavigationServices.showTermsAndConditionsDialogIfNeeded()
, depois selecione
ver se os termos foram aceitos. Se o usuário rejeitar os termos,
mapView.isNavigationEnabled = true
não tem efeito, e mapView.navigator
é
nulo.
Swift
import UIKit import GoogleNavigation class ViewController: UIViewController { var mapView: GMSMapView! var locationManager: CLLocationManager! override func loadView() { locationManager = CLLocationManager() locationManager.requestAlwaysAuthorization() let options = GMSMapViewOptions() options.camera = camera options.frame = .zero mapView = GMSMapView(options: options) // Show the terms and conditions. let termsAndConditionsOptions = GMSNavigationTermsAndConditionsOptions(companyName: "Ride Share Co.") GMSNavigationServices.showTermsAndConditionsDialogIfNeeded(with: termsAndConditionsOptions) { termsAccepted in if termsAccepted { // Enable navigation if the user accepts the terms. self.mapView.isNavigationEnabled = true } else { // Handle the case when the user rejects the terms and conditions. } } view = mapView } // TODO: Add navigation code. }
Objective-C
#import "ViewController.h" @import GoogleNavigation; @interface ViewController () @end @implementation ViewController GMSMapView *_mapView; CLLocationManager *_locationManager; - (void)loadView { _locationManager = [[CLLocationManager alloc] init]; [_locationManager requestAlwaysAuthorization]; GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.67 longitude:-122.20 zoom:14]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.frame = CGRectZero; options.camera = camera; options.mapID = mapID; _mapView = [[GMSMapView alloc] initWithOptions:options]; // Show the terms and conditions. GMSNavigationTermsAndConditionsOptions *termsAndConditionsOptions = [[GMSNavigationTermsAndConditionsOptions alloc] initWithCompanyName:@"Ride Sharing Co."]; [GMSNavigationServices showTermsAndConditionsDialogIfNeededWithOptions:termsAndConditionsOptions callback:^(BOOL termsAccepted) { if (termsAccepted) { // Enable navigation if the user accepts the terms. _mapView.navigationEnabled = YES; } else { // Handle the case when the user rejects the terms and conditions. } }]; self.view = _mapView; } // TODO: Add navigation code. @end
Execute o aplicativo. Você verá um mapa centralizado em Kirkland, Washington.
Se o mapa não estiver visível, tente o seguinte:
- Confirme se você informou a chave de API correta.
- Verifique se o NavSDK está ativado no console do Cloud.
- Se o Nav SDK estiver instalado, mas o projeto não usar as APIs Nav SDK, remova-o do binário.
Se você é cliente de serviços de mobilidade
Se você é cliente de serviços de mobilidade, saiba mais sobre faturamento na documentação de mobilidade. Para mais informações sobre a gravação, transações, consulte Configure o faturamento. Para saber como adicionar IDs de transação à implementação do SDK do Navigation, consulte Associe o uso do serviço às transações do Mobility.
A seguir
Agora que você tem uma chave de API e um projeto Xcode, já pode criar e executar apps. O SDK do Navigation para iOS oferece tutoriais que podem ajudar você começar. Confira mais detalhes em: