Xcode プロジェクトを設定する

課金を有効にして 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 を新規または既存のプロジェクトに追加する手順は次のとおりです。

  1. Xcode project または workspace を開き、[File] > [Add Package Dependencies] に移動します。
  2. URL として https://github.com/googlemaps/ios-navigation-sdk を入力し、Enter キーを押してパッケージを取得し、[パッケージを追加] をクリックします。
  3. 特定の version をインストールするには、[依存関係ルール] フィールドをバージョンベースのオプションのいずれかに設定します。新しいプロジェクトの場合は、最新バージョンを指定し、[Exact Version] オプションを使用することをおすすめします。完了したら、[パッケージを追加] をクリックします。

既存のプロジェクトの package を更新する手順は次のとおりです。

  1. インストールを確認するには、Project Navigator の [Package Dependencies] セクションに移動して、パッケージとそのバージョンを確認します。

手動でインストールされた既存の Navigation SDK for iOS を削除する手順は次のとおりです。
  1. Xcode プロジェクトの構成設定で、[フレームワーク、ライブラリ、埋め込みコンテンツ] を見つけます。マイナス記号(-)を使用して、次のフレームワークを削除します。
    • GoogleMaps.xcframework
    • GoogleNavigation.xcframework
  2. Xcode プロジェクトの最上位ディレクトリから、GoogleMaps バンドルを削除します。

手動インストール

このガイドでは、Navigation SDK for iOS と Maps SDK for iOS を含む XCFramework を手動でプロジェクトに追加し、Xcode でビルド設定を構成する方法について説明します。XCFramework は、M1 チップセットを使用するマシンなど、複数のプラットフォームで使用できるバイナリ パッケージです。

Navigation SDK for iOS と Maps SDK for iOS の XCFramework をインストールする手順は次のとおりです。

  1. 次の SDK バイナリとリソース ファイルをダウンロードします。
  2. Xcode を起動し、既存のプロジェクトを開くか、新しいプロジェクトを作成します。iOS を初めて使用する場合は、新しいプロジェクトを作成し、iOS アプリ テンプレートを選択します。
  3. プロジェクトから、既存の Maps、Navigation、Places の参照をすべて削除します。
  4. 次の XCFramework をプロジェクトの [フレームワーク、ライブラリ、埋め込みコンテンツ] にドラッグして、マップ SDK とナビゲーション SDK の両方をインストールします(プロンプトが表示されたら、[Copy items if needed] を選択します)。
    • GoogleMaps.xcframework
    • GoogleNavigation.xcframework
  5. ダウンロードした GoogleMapsResources から GoogleMaps.bundle を Xcode プロジェクトの最上位ディレクトリにドラッグします。プロンプトが表示されたら、[Copy items if necessary] が選択されていることを確認します。
  6. ダウンロードした GoogleNavigationResources から GoogleNavigation.bundle を Xcode プロジェクトの最上位ディレクトリにドラッグします。プロンプトが表示されたら、[Copy items into destination group's folder] が選択されていることを確認します。
  7. プロジェクト ナビゲータで目的のプロジェクトを選択し、アプリのターゲットを選択します。
  8. [Build Phases] タブを開き、[Link Binary with Libraries] 内に次のフレームワークとライブラリを追加します。
    • 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
  9. アプリケーションのターゲットで [Capabilities] タブを選択し、[Background Modes] をオンにして、次のモードを有効にします。
    • 音声、AirPlay、ピクチャー イン ピクチャー
    • 位置情報の更新
  10. (特定のターゲットではなく)プロジェクトを選択して、[Build Settings] タブを開きます。[Other Linker Flags] セクションで、debugrelease の両方に ‑ObjC を追加します。これらの設定が表示されない場合は、[Build Settings] バーのフィルタを [Basic] から [All] に変更します。
  11. Info.plist を開き、次の Key-Value ペアを追加します。
    • キー: NSLocationWhenInUseUsageDescriptionプライバシー - 使用中の位置情報の使用状況の説明
      値: 「このアプリは、ターンバイターン ナビゲーションに位置情報を使用する権限が必要です。」
    • キー: NSLocationAlwaysAndWhenInUseUsageDescriptionプライバシー - 位置情報の常に使用と使用時の使用状況の説明
      値: 「このアプリは、ターンバイターン ナビゲーションに位置情報を使用する権限が必要です。」

CocoaPods

Navigation SDK for iOS は CocoaPods ポッドとして提供されています。CocoaPods は、Swift と Objective-C の Cocoa プロジェクトで依存関係を管理するためのオープンソース ツールです。

CocoaPods ツールがない場合は、ターミナルから以下のコマンドを実行して、macOS 上に CocoaPods ツールをインストールします。詳しくは、CocoaPods スタートガイドをご覧ください。

sudo gem install cocoapods

Navigation SDK for iOS の Podfile を作成し、これを使用して API とその依存関係をインストールします。

  1. Xcode プロジェクトをまだ作成していない場合は、ここで作成してローカルマシンに保存します。iOS 開発を初めて行う場合:
    1. 新しいプロジェクトを作成する。
    2. [iOS > アプリ] テンプレートを選択します。
    3. プロジェクト オプション画面で次のように操作します。
      1. プロジェクト名を入力します。
      2. [Bundle identifier] フィールドの値を記録します。この値を使用して、以下の API キーを制限できます。
      3. プロジェクトの [インターフェース] を [ストーリーボード] に設定します。
      4. [Language] を [Swift] または [Objective-C] に設定します。
  2. プロジェクトのディレクトリに、Podfile という名前のファイルを作成します。このファイルでプロジェクトの依存関係を定義します。
  3. Podfile を編集して、依存関係とそのバージョンを追加します。次の例では、Navigation SDK for iOS に必要な依存関係を追加しています。 # Cocoapods インストール リファレンス #
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '15.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleNavigation', '9.2.0'
    end
            
    pod outdated を定期的に実行して、新しいバージョンを検出してください。必要に応じて、最新バージョンにアップグレードします。
  4. Podfile を保存します。
  5. ターミナルを開き、Podfile を含むディレクトリに移動します。

    cd <path-to-project>
  6. pod install コマンドを実行します。Podfile で指定した API とその依存関係がインストールされます。

    pod install
  7. Xcode を終了し、プロジェクトの .xcworkspace ファイルを(ダブルクリックして)開いて、Xcode を起動します。これ以降、このプロジェクトを開くには .xcworkspace ファイルを使用する必要があります。

既存のプロジェクトの API を更新する手順は次のとおりです。

  1. ターミナルを開き、Podfile を含むプロジェクト ディレクトリに移動します。
  2. pod update コマンドを実行します。これにより、Podfile で指定されたすべての API が最新バージョンに更新されます。

ステップ 3: API キーをプロジェクトに追加する

次の例は、Xcode でプロジェクトに API キーを追加する方法を示しています。

Swift

次のように、API キーを AppDelegate.swift に追加します。

  1. 次の import ステートメントを追加します。
    import GoogleMaps
    import GoogleNavigation
  2. application(_:didFinishLaunchingWithOptions:) メソッドに以下を追加します。
    GMSServices.provideAPIKey("YOUR_API_KEY")

Objective-C

次のように、API キーを AppDelegate.m に追加します。

  1. 次の import ステートメントを追加します。
    @import GoogleMaps;
    @import GoogleNavigation;
  2. application:didFinishLaunchingWithOptions: メソッドに以下を追加します。
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];

ステップ 4(省略可): Apple プライバシー マニフェスト ファイルを検査する

Apple は、App Store でアプリを公開するデベロッパーに対して、アプリのプライバシーに関する詳細情報の開示を求めています。最新情報と詳細については、Apple App Store のプライバシーに関する詳細情報のページをご覧ください。

Apple プライバシー マニフェスト ファイルは、SDK のリソース バンドルに含まれています。プライバシー マニフェスト ファイルが含まれていることを確認して、その内容を検査するには、アプリのアーカイブを作成し、アーカイブからプライバシー レポートを生成します。

モビリティ サービスのお客様の場合

Mobility Services をご利用の場合は、Mobility のドキュメントで請求についてご確認ください。トランザクションの記録の詳細については、お支払い情報を設定するをご覧ください。Navigation SDK の実装にトランザクション ID を追加する方法については、サービス使用量をモビリティ トランザクションに関連付けるをご覧ください。

次のステップ

これで API キーと Xcode プロジェクトが用意できたので、アプリを作成・実行する準備が整いました。Navigation SDK for iOS には、使い始めるのに役立つチュートリアルが用意されています。詳しくは以下をご覧ください。