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