課金を有効にして API キーを作成すると、Xcode を設定できるようになります プロジェクトを作成します。
各バージョンのリリースノート なります。
ステップ 1: 必要なソフトウェアをインストールする
Navigation SDK for iOS を使用してプロジェクトを作成するには、以下をダウンロードしてインストールする必要があります。
- Xcode バージョン 15.0 以降
ステップ 2: Xcode プロジェクトを作成し、Navigation SDK をインストールする
Swift Package Manager
Navigation SDK は でインストールできます。 Swift Package Manager。SDK を追加するには、 既存の Navigation SDK の依存関係をすべて削除しました。
新規または既存のプロジェクトに SDK を追加する手順は次のとおりです。
-
Xcode
project
またはworkspace
を開き、[File >パッケージの依存関係を追加する。 - URL として「https://github.com/googlemaps/ios-navigation-sdk」と入力し、Enter キーを押します。 [パッケージを追加]をクリックします
-
特定の
version
をインストールするには、[Dependency Rule] フィールドを次のいずれかに設定します。 オプションを提供します。新しいプロジェクトの場合は、最新バージョンと 1 つのバージョンを 「正確なバージョン」を使用して選択します。完了したら、[Add Package] をクリックします。 -
[Choose Package Products] ウィンドウで、
GoogleNavigation
が以下に追加されることを確認します。 指定したmain
の目標値。完了したら、[Add Package] をクリックします。 -
インストールを確認するには、ターゲットの
General
ペインに移動します。 [Frameworks, Libraries, and Embedded Content] に、インストールされたパッケージが表示されます。 [Package Dependencies] ビューもセクション(プロジェクト ナビゲーター) パッケージとそのバージョンを確認します。
既存のプロジェクトの package
を更新する手順は次のとおりです。
9.0.0 より前のバージョンからアップグレードする場合は、 次の依存関係:
GoogleMapsBase
、GoogleMapsCore
、 アップグレード後にGoogleMapsM4B
。次の依存関係を削除しないでください。GoogleMaps
。詳しくは、 バージョン 9.0.0 リリースノート。Xcode プロジェクト構成設定で、フレームワーク、ライブラリ、 および埋め込みコンテンツをご覧ください。マイナス記号(-)を使用して、次のフレームワークを削除します。
GoogleMapsBase
(9.0.0 より前のバージョンからのアップグレードのみ)GoogleMapsCore
(9.0.0 より前のバージョンからのアップグレードのみ)GoogleMapsM4B
(9.0.0 より前のバージョンからのアップグレードのみ)
- Xcode で、[File] > [パッケージ >最新のパッケージ バージョンへの更新」を選択します。
- インストールを確認するには、Project Navigator の [Package Dependencies] セクションに移動します。 パッケージとそのバージョンを確認します。
次のコマンドを使用して、追加された既存の Navigation SDK 依存関係を削除するには:
CocoaPods
の手順は次のとおりです。
- Xcode ワークスペースを閉じます。ターミナルを開き、次のコマンドを実行します。
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
-
Podfile
、Podfile.resolved
、および CocoaPods 以外で使用していない場合には、Xcodeworkspace
です。
- </ph>
-
Xcode プロジェクト構成設定で、フレームワーク、ライブラリ、
および埋め込みコンテンツをご覧ください。マイナス記号(-)を使用して、次のフレームワークを削除します。
<ph type="x-smartling-placeholder">
- </ph>
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
GoogleNavigation.xcframework
-
Xcode プロジェクトの最上位ディレクトリから、
GoogleMaps
を削除します。 あります。
CocoaPods
iOS 向け Navigation SDK は、 CocoaPods Pod。 CocoaPods は、Swift と Objective-C の Cocoa プロジェクトで依存関係を管理するためのオープンソース ツールです。
CocoaPods ツールがない場合は、ターミナルから以下のコマンドを実行して、macOS 上に CocoaPods ツールをインストールします。詳しくは、 CocoaPods スタートガイド
sudo gem install cocoapods
iOS 用 Navigation SDK 用の Podfile
を作成し、以下を使用します。
API とその依存関係をインストールします。
- Xcode プロジェクトがまだない場合は、ここで作成して
インストールします。iOS 開発が初めての場合:
<ph type="x-smartling-placeholder">
- </ph>
- 新しいプロジェクトを作成する。
- [iOS >App テンプレート。
- プロジェクト オプション画面で次の操作を行います。
<ph type="x-smartling-placeholder">
- </ph>
- [Project Name] を入力します。
- [バンドル ID] フィールドの値を記録します。 この値を使用して、以下の API キーを制限できます。
- プロジェクトの [Interface] を [Storyboard] に設定します。
- [言語] を [Swift] または [Objective-C] に設定します。
- プロジェクトのディレクトリに、
Podfile
という名前のファイルを作成します。このファイルでプロジェクトの依存関係を定義します。 Podfile
を編集して、依存関係とともに依存関係を追加します。 バージョン。 この例には、Terraform の実行時に必要な依存関係が含まれ、 iOS 向け Navigation SDK: # Cocoapods インストール リファレンス #source '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
を定期的に実行して新しいものを検出する あります。必要に応じて、 最新バージョンに更新されています。Podfile
を保存します。ターミナルを開き、
Podfile
を含むディレクトリに移動します。cd <path-to-project>
pod install
コマンドを実行します。これにより、Podfile
に指定された API とすべての依存関係。pod install
Xcode を終了し、プロジェクトの
.xcworkspace
ファイルを(ダブルクリックして)開いて、Xcode を起動します。これ以降、このプロジェクトを開くには.xcworkspace
ファイルを使用する必要があります。
既存のプロジェクトの API を更新する手順は次のとおりです。
- ターミナルを開き、
Podfile
を含むプロジェクト ディレクトリに移動します。 pod update
コマンドを実行します。これにより、すべての API が更新されます。Podfile
で指定されたバージョンを最新バージョンに変更します。
手動インストール
このガイドでは、XCFrameworks を手動で追加し、 Navigation SDK for iOS と Maps SDK for iOS をプロジェクトに追加して、Xcode でビルド設定を行います。XCFramework は、M1 チップセットを搭載したマシンなど、複数のプラットフォームで使用できるバイナリ パッケージです。
Navigation SDK for iOS 用の XCFrameworks をインストールする手順は次のとおりです。 および Maps SDK for iOS:
- 次の SDK バイナリとリソース ファイルをダウンロードします。 <ph type="x-smartling-placeholder">
- Xcode を起動し、既存のプロジェクトを開くか、新しいプロジェクトを作成します。iOS を初めて使用する場合は、新しいプロジェクトを作成し、 iOS アプリ テンプレート:
- プロジェクトから既存のマップ、ナビ、プレイスの参照を削除します。
- 次の XCFrameworks を、
フレームワーク、ライブラリ、埋め込みコンテンツ(Google マップと Google マップの両方をインストール)
Navigation SDK を使用できます(プロンプトが表示されたら、[Copy items if needed] を選択します)。
<ph type="x-smartling-placeholder">
- </ph>
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
GoogleNavigation.xcframework
- ダウンロードした GoogleMapsResources から
GoogleMaps.bundle
をドラッグします Xcode プロジェクトの最上位ディレクトリに移動します。画面の指示に従って [Copy items if needed] が選択されていることを確認します。 - ダウンロードした GoogleNavigationResources から
GoogleNavigation.bundle
をドラッグします。 Xcode プロジェクトの最上位ディレクトリに移動します。プロンプトが表示されたら、 [Copy items to destination group's folder] が選択されています。 - プロジェクト ナビゲータでプロジェクトを選択し、 通信できます。
- [Build Phases] タブを開き、
Binary をライブラリにリンクして、次のフレームワークとライブラリを追加します。
<ph type="x-smartling-placeholder">
- </ph>
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
- アプリケーションのターゲットで [Capabilities] タブを選択します。
[バックグラウンド モード] をオンにして、次のモードを有効にします。
<ph type="x-smartling-placeholder">
- </ph>
- 音声、AirPlay、ピクチャー イン ピクチャー
- 位置情報の更新
- 特定のターゲットではなくプロジェクトを選択して、[Build
設定タブ。[その他のリンカーフラグ] セクションで、
debug と release の両方に
‑ObjC
を追加します。 これらの設定が表示されない場合は、 [Build Settings] バーが [Basic] から [All] に変わります。 Info.plist
を開き、次の Key-Value ペアを追加します。 <ph type="x-smartling-placeholder">- </ph>
- キー:
NSLocationWhenInUseUsageDescription
(プライバシー - 使用中の位置情報の使用に関する説明)
値: 「このアプリにはターンバイターン方式のナビで位置情報を使用する許可が必要です。」 - キー:
NSLocationAlwaysAndWhenInUseUsageDescription
(プライバシー - 常に位置情報と使用中の使用状況の説明)
値: 「このアプリにはターンバイターン方式のナビで位置情報を使用する許可が必要です。」
- キー:
ステップ 3: Apple のプライバシー マニフェスト ファイルを調べる
Apple が App Store のアプリについては、アプリのプライバシーに関する詳細情報を必要とします。最新情報などについては、Apple App Store のプライバシーの詳細ページをご覧ください。
Apple Privacy Manifest ファイルは、SDK のリソース バンドルに含まれています。プライバシー マニフェスト ファイルが含まれていることを確認し、その内容を検査するには、アプリのアーカイブを作成し、そのアーカイブからプライバシー レポートを生成します。
ステップ 4: API キーをプロジェクトに追加する
次の例は、Xcode でプロジェクトに API キーを追加する方法を示しています。
Swift
次のように、API キーを AppDelegate.swift
に追加します。
- 次の import ステートメントを追加します。
import GoogleMaps import GoogleNavigation
application(_:didFinishLaunchingWithOptions:)
に以下を追加します。 メソッド:GMSServices.provideAPIKey("YOUR_API_KEY")
Objective-C
次のように、API キーを AppDelegate.m
に追加します。
- 次の import ステートメントを追加します。
@import GoogleMaps; @import GoogleNavigation;
application:didFinishLaunchingWithOptions:
に以下を追加します。 メソッド:[GMSServices provideAPIKey:@"YOUR_API_KEY"];
ステップ 5: 地図を追加する
このコードは、既存の ViewController
にシンプルな地図を追加する方法を示しています。
ナビゲーションの初期設定も
行われています
ナビゲーションを有効にするには、ユーザーが利用規約に同意する必要があります。
あります。ユーザーにプロンプトを表示するには、
GMSNavigationServices.showTermsAndConditionsDialogIfNeeded()
、次にチェックボックスをオンにします
利用規約に同意したかどうかを確認しますユーザーが規約を拒否した場合
mapView.isNavigationEnabled = true
は無効、mapView.navigator
は無効
nil
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
アプリを実行します。ワシントン州カークランドを中心とする地図が表示されます。
地図が表示されない場合は、次の手順をお試しください。
- 入力した API キーが正しいことを確認します。
- Cloud コンソールで NavSDK が有効になっていることを確認します。
- Nav SDK がインストールされているものの、プロジェクトで Nav SDK API を使用していない場合は、バイナリから削除します。
モビリティ サービスをご利用の場合
モビリティ サービスのお客様の場合は、課金の詳細 参照してください。録画について詳しくは 取引については、以下をご覧ください。 お支払い情報を設定します。 Navigation SDK の実装にトランザクション ID を追加する方法については、以下をご覧ください。 サービスの利用状況をモビリティ トランザクションに関連付ける。
次のステップ
API キーと Xcode プロジェクトが用意できたので、アプリを作成して実行できます。 Navigation SDK for iOS には、以下の作業に役立つチュートリアルが用意されています。 始めましょう。詳しくは以下をご覧ください。
- チュートリアル