Google Maps Platform チームは定期的に SDK を更新し、新機能の追加、バグの修正、パフォーマンスの改善を行っています。このページでは、モバイル SDK への依存関係を管理する方法について説明します。
リンクするバージョンの選び方
-
ミッション クリティカルなアプリの場合、使用しているメジャー バージョンの最新のドットリリース(X.*)にリンクし、1 年ごとに新しいメジャー バージョンにアップグレードします。
年間を通じてアプリケーションの新バージョンをリリースする際に、Maps SDK for iOS の新しいドット バージョンを使い始めても問題ありません。新しいドット バージョンには下位互換性があるため、これによってアプリケーションのアップデートが必要となることはありません。
メリット:
- Maps SDK for iOS に問題が見つかっても、モバイル サポート ポリシーの規定により、該当メジャー バージョンの最初のリリースから 12 か月間は、下位互換性を保った方法で修正が提供されます。修正のメリットを得るために、互換性のない SDK バージョンへのアップグレードを急ぐ必要はありません。
- 最新の SDK バージョンをベースにアプリを制作すれば、最新の改良点や機能を容易に導入できます。
- SDK のアップデートに合わせてアプリケーションの調整、書き換え、テスティングが必要になることがありますが、SDK の最新メジャー バージョンの年次差分アップデートに対応するだけであれば、複数のメジャー バージョン リリースで導入された下位互換性のない変更に対応するよりも軽い作業で済むことが予想されます。
重要性の低いアプリの場合、任意の修正済みバージョンにリンクします。その修正済みバージョンのサポート終了の案内を受けたら、12 か月以内にアプリのコードをアップデートしてユーザーに提供開始する必要があります。
メリット:
- メンテナンス作業の頻度を下げられます。
- アプリの新バージョンで、搭載 OS の古いモバイル デバイスへの対応を維持できる期間が延びます(新しい SDK バージョンにアップグレードする必要が生じるまで)。
モニタリング対象メールアドレスを持つプロジェクト オーナー様には、各プロジェクトに影響する変更を通知で事前にお知らせしています。メジャー アップデート、サービス終了、その他の変更に関する最新情報を把握する方法
インストール
Swift Package Manager
Maps SDK for iOS は Swift Package Manager を使用してインストールできます。SDK を追加するには、既存の Maps SDK for iOS の依存関係をすべて削除してください。
SDK を新規または既存のプロジェクトに追加する手順は次のとおりです。
-
Xcode
project
またはworkspace
を開き、[File] > [Add Package Dependencies] に移動します。 - URL として https://github.com/googlemaps/ios-maps-sdk を入力し、Enter キーを押してパッケージを取得し、[パッケージを追加] をクリックします。
-
特定の
version
をインストールするには、[依存関係ルール] フィールドをバージョンベースのオプションのいずれかに設定します。新しいプロジェクトの場合は、最新バージョンを指定し、[Exact Version] オプションを使用することをおすすめします。完了したら、[パッケージを追加] をクリックします。
既存のプロジェクトの 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] > [Packages] > [Update To Latest Package Versions] の順に選択します。
- インストールを確認するには、Project Navigator の [Package Dependencies] セクションに移動して、パッケージとそのバージョンを確認します。
CocoaPods
を使用して追加された既存の Maps SDK for iOS の依存関係を削除する手順は次のとおりです。
- Xcode ワークスペースを閉じます。ターミナルを開き、次のコマンドを実行します。
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
-
CocoaPods 以外で使用していない場合は、
Podfile
、Podfile.resolved
、Xcode のworkspace
を削除します。
CocoaPods
楽観的演算子(~>
)を使用すると、ビルドが予測不能または繰り返し不能になる可能性があるため、依存関係では常にバージョン番号を指定してください。Maps SDK for iOS はセマンティック バージョニングに則っており、新たなメジャー バージョン リリースには破壊的変更が含まれます。
Podfile 構文を使用した Podfile 依存関係の例:
source 'https://github.com/CocoaPods/Specs.git' platform :ios, '15.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleMaps', '9.2.0' end
メンテナンスとアップグレード
最新の改善を反映したビルドを作成するには、新しいバージョンを定期的に確認し、バージョン仕様を更新してください。新しいメジャー バージョンに更新する場合は、下位互換性のない変更とコードの更新方法をリリースノートで確認してください。
Swift Package Manager
既存のプロジェクトの package
を更新する手順は次のとおりです。
- インストールを確認するには、Project Navigator の [Package Dependencies] セクションに移動して、パッケージとそのバージョンを確認します。
Cocoapods
ターミナルを開き、
Podfile
を含むディレクトリに移動します。cd <path-to-project>
pod outdated
を実行して、Maps SDK for iOS の新しいバージョンが利用可能かどうかを確認します。- 新しいバージョンの SDK が見つかった場合は、この新しいバージョンで
Podfile
を更新します。Podfile
で特定のバージョンを設定する方法については、Pod バージョンの指定をご覧ください。 pod update
を実行します。- アップグレードに伴う必要な変更を行います。各リリースの変更点については、リリースノートをご覧ください。
- [Product] > [Clean] を選択してプロジェクトのクリーンアップを行った後、[Product] > [Build] を選択して再ビルドを行います。
手動インストール
SDK のインストールで、最新のソースファイルへのリンクを取得します。
Google Cloud プロジェクト オーナーは、新しいバージョンをポーリングするだけでなく、プロジェクトに影響するかもしれない下位互換性のない変更に関するメールも受信します。下位互換性のない変更について事前に通知を受けるには、モニタリング対象メールアドレスを使用してプロジェクトごとにオーナーの役割を割り当てます。