このページでは、Maps SDK for iOS のユーティリティ ライブラリを設定する方法について説明します。
これらのユーティリティを試すには、次のいずれかを行います。
- デモアプリをインストールして実行する。デモアプリは、ユーティリティを試すために必要なすべてのコードを含むスタンドアロン プロジェクトです。
- ユーティリティ ライブラリを既存の Xcode プロジェクトにインストールします。これらのユーティリティを実際のプロジェクトに追加します。
必要に応じて CocoaPods をインストールする
ユーティリティ ライブラリは、Google-Maps-iOS-Utils
という名前の CocoaPods Pod として利用できます。CocoaPods は、Swift プロジェクトと Objective-C Cocoa プロジェクトのオープンソースの依存関係マネージャーです。
CocoaPods ツールをまだお持ちでない場合は、ターミナルから次のコマンドを実行して macOS にインストールしてください。
sudo gem install cocoapods
詳しくは、CocoaPods スタートガイドをご覧ください。
デモアプリをインストールして実行する
ユーティリティ ライブラリには、各ユーティリティをインストールしてデモできるデモアプリが含まれています。
次の 2 つの方法のいずれかを使用してデモアプリをインストールします。GitHub のファイルを使用する
- GitHub からコードサンプル アーカイブをダウンロードし、アーカイブを展開します。
- ターミナル ウィンドウを開き、サンプル ファイルを展開したディレクトリに移動し、使用する言語の適切なサンプル ディレクトリにドリルダウンします。
- Swift の場合、
cd google-maps-ios-utils-master/samples/SwiftDemoApp
を実行します。 - Objective-C の場合は
cd google-maps-ios-utils-master/samples/ObjCDemoApp
を実行します。
- Swift の場合、
- 次のコマンドを実行します。
pod install
- Xcode を終了し、プロジェクトの
.xcworkspace
ファイルを開いて(ダブルクリックして)Xcode を起動します。以降は、.xcworkspace
ファイルを使用してプロジェクトを開く必要があります。
CocoaPods v1.6.1 を使用する
- ターミナル ウィンドウを開き、バージョン 1.6.1 をインストールします。
sudo gem install cocoapods -v1.6.1
- CocoaPods を使用して Google マップのファイルを取得します。
pod try Google-Maps-iOS-Utils
プロンプトが表示されたら、Swift または Objective-C を選択します。CocoaPods が仕様リポジトリを更新してから、
SwiftDemoApp.xcodeproj
またはObjCDemoApp.xcodeproj
という名前の一時的な Xcode プロジェクトでデモを開きます。
デモアプリに API キーを追加する
[API キーを取得する] で、アプリの API キーを生成します。このキーをデモアプリの Xcode プロジェクトに追加します。Swift
次のように、API キーを AppDelegate.swift
に追加します。
- 次の import ステートメントを追加します。
import GoogleMaps
- 次の行を編集して、二重引用符の間に API キーを追加します。
// Change this key to a valid key registered with the demo app bundle id. let mapsAPIKey = ""
Objective-C
次のように、API キーを AppDelegate.m
に追加します。
- 次の import ステートメントを追加します。
@import GoogleMaps;
- 次の行を編集して、二重引用符の間に API キーを追加します。
// Change this key to a valid key registered with the demo app bundle id. static NSString *const kMapsAPIKey = @"";
デモアプリをビルドして実行する
API キーを追加したら、プロジェクトをビルドして実行します。
- Swift バージョンのデモを実行している場合は、アプリで表示するユーティリティを選択できます。
- Objective-C バージョンのデモを実行している場合は、マーカー クラスタリング ユーティリティのデモが表示されます。その後、デモの Objective-C バージョンを編集して、各ユーティリティを試すことができます。 詳しくは、後述のアプリにユーティリティを追加するをご覧ください。
ユーティリティ ライブラリを Xcode プロジェクトとしてインストールする
次の手順に従って、ユーティリティ ライブラリを Xcode ワークスペースに追加します。
CocoaPods を使用
- Xcode プロジェクトをまだ作成していない場合は、ここで作成して、ローカルマシンに保存します。(iOS 開発を初めて行う場合は、シングルビュー アプリを作成します)。
- プロジェクトの Pod ファイルがまだない場合は、プロジェクト ディレクトリに
Podfile
という名前のファイルを作成します。このファイルは、プロジェクトの依存関係を定義します。 - プロジェクトの Pod ファイルを編集し、
Google-Maps-iOS-Utils
Pod への依存関係を追加します。Maps SDK for iOS とユーティリティ ライブラリに必要な依存関係を含む例を次に示します。source 'https://github.com/CocoaPods/Specs.git' platform :ios, '13.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do use_frameworks! pod 'GoogleMaps', '7.4.0' pod 'Google-Maps-iOS-Utils', '4.2.2' end
pod install
を実行します。- Xcode を終了し、プロジェクトの
.xcworkspace
ファイルを開いて(ダブルクリックして)Xcode を起動します。以降は、.xcworkspace
ファイルを使用してプロジェクトを開く必要があります。
注: マーカー クラスタリング ユーティリティは四分木に依存しますが、四分木はマーカー クラスタリングなしで使用できます。四分木ユーティリティのみが必要な場合は、Pod ファイルで pod 'Google-Maps-iOS-Utils'
を 'Google-Maps-iOS-Utils/QuadTree'
に変更します。
Carthage を使用する
- Carthage をインストールします。方法はいくつかあります。正確な手順については、Carthage の README ファイルをご覧ください。
- Xcode プロジェクトをまだ作成していない場合は、ここで作成してローカルマシンに保存します(iOS アプリを初めて開発する場合は、新規プロジェクトの作成時に iOS アプリ テンプレートを選択してください。Xcode 11.7 以前では [Single View Application] を作成します)。
- プロジェクトのディレクトリに、
Cartfile
という名前のファイルを作成します。このファイルは、プロジェクトの依存関係を定義します。 Cartfile
を編集して、Maps SDK for iOS ユーティリティ ライブラリの依存関係を追加します。
github "googlemaps/google-maps-ios-utils"
Cartfile
を保存します。- ターミナル ウィンドウで、
Cartfile
を含むディレクトリに移動します。
cd <path-to-project>
- 更新コマンドを実行します。
carthage update --platform iOS
これにより、Cartfile
で指定された API と、必要な依存関係がインストールされます。 - Finder のプロジェクト ディレクトリで、
Carthage/Build/iOS
の下にあるダウンロードしたフレームワーク ファイルに移動します。 - 次のバンドルをプロジェクトにドラッグして、Maps SDK for iOS のフレームワークをプロジェクトに追加します。(メッセージが表示されたら、[必要に応じてアイテムをコピー、上記と同じバージョンを使用] を選択してください)。
GoogleMaps-x.x.x/Base/Frameworks/GoogleMapsBase.framework
GoogleMaps-x.x.x/Maps/Frameworks/GoogleMaps.framework
GoogleMaps-x.x.x/Maps/Frameworks/GoogleMapsCore.framework
GoogleMaps-x.x.x/Maps/Frameworks/GoogleMapsUtils.framework
GoogleMaps-x.x.x/M4B/Frameworks/GoogleMapsM4B.framework
も含める必要があります。 - プロジェクトで
GoogleMaps.framework
を右クリックし、[Show In Finder] を選択します。 Carthage/Build/iOS/GoogleMaps.framework/Resources/GoogleMaps.bundle
をResources
フォルダからプロジェクトにドラッグします。プロンプトが表示されたら、[Copy items into destination group's folder] が選択されていないことを確認します。- プロジェクト ナビゲータで目的のプロジェクトを選択し、アプリのターゲットを選択します。
- アプリのターゲットの [Build Phases] タブを開き、[Link Binary with Libraries] 内で次のフレームワークを追加します。
Accelerate.framework
CoreData.framework
CoreGraphics.framework
CoreImage.framework
CoreLocation.framework
CoreTelephony.framework
CoreText.framework
GLKit.framework
ImageIO.framework
libc++.tbd
libz.tbd
OpenGLES.framework
QuartzCore.framework
SystemConfiguration.framework
UIKit.framework
(特定のターゲットではなく)プロジェクトを選択して、[Build Settings] タブを開きます。[Other Linker Flags] セクションで
-ObjC
を追加します。これらの設定が表示されない場合は、[Build Settings] バーのフィルタを [Basic] から [All] に変更します。
Swift Package Manager を使用する
- Xcode プロジェクトをまだ作成していない場合は、ここで作成してローカルマシンに保存します。(iOS 開発を初めて行う場合は、新しいプロジェクトを作成し、iOS アプリ テンプレートを選択します。Xcode 11.7 以前では、シングルビュー アプリケーションを作成します)。
- Maps SDK for iOS を依存関係として追加します。オプションについては、SDK のインストールをご覧ください。
- Xcode プロジェクトで、[File] ->、[Swift Packages] -> [Add Package Dependency] に移動します。
- 表示されたウィンドウで、Maps SDK for iOS ユーティリティ ライブラリのリポジトリ URL(
https://github.com/googlemaps/google-maps-ios-utils
)を入力し、[次へ] を選択します。 - この時点で、GitHub アカウントでの認証を求められる場合があります。手順に沿って、GitHub 個人アクセス トークンを作成します。
- 次のウィンドウで、[バージョン] ラジオボタンを選択し、プルダウン リストから [Exact] を選択し、Maps SDK for iOS ユーティリティ ライブラリの最新バージョン(例: "3.4.0")を入力して [次へ] を選択します。
アプリに API キーを追加する
API キーを生成し、Xcode プロジェクトに追加する手順については、Xcode プロジェクトを設定するをご覧ください。プロジェクトをビルドして実行する
API キーを追加したら、プロジェクトをビルドして実行します。
アプリにユーティリティを追加する
アプリでのユーティリティの使用方法について詳しくは、各ユーティリティのドキュメントをご覧ください。