iOS 向け Maps SDK と Places SDK のバージョン 4.0 のお知らせ

Google Cloud Japan Team
※この投稿は米国時間 2020 年 10 月 15 日に、Google Cloud blog に投稿されたものの抄訳です。
本日、Maps SDK for iOS と Places SDK for iOS の新しいバージョンをリリースいたしました。バージョン 4.0 では、両方の SDK において、iOS 10 を最小バージョンとするデバイス用のアプリをサポートするようになりました。Places SDK はいくつかの点が改善され、API がより直感的になり、Swift デベロッパー向けのサポートが強化されました。
最小バージョンを iOS 10 に変更
古いバージョンやデバイスのサポートの終了は慎重に検討する必要があり、軽率に判断できません。一方、最小バージョンを引き上げるとテスト対象のバージョンが 1 つ減るため、開発速度が向上します。Google のお客様のユーザーの 99% 以上が iOS 10 以降を使用しているため、それが今回の主要なバージョン リリースに合わせて最小バージョンを引き上げるきっかけとなりました。最新バージョンの SDK を導入することを常におすすめしますが、iOS 9 をサポートする必要がある場合は、引き続きバージョン 3.x(Maps、Places)の SDK をサポートいたします。
Swift サポートの向上
場所の詳細情報を得る際に複数のフィールドを取得するには、GMSPlaceField タイプを組み合わせる必要があります。Places SDK for iOS 4.0 より前は、Swift でフィールドを組み合わせるには、強制ラッピング解除または条件付きラッピング解除が必要であり、特定のタイプを組み合わせるのは安全ではないという印象がありました。
たとえば、同じフィールドに名前と場所 ID があると、次のようになります。
GMSPlaceField が NS_ENUM として宣言されていたため、以前は上記の構文が必要でした。Places SDK for iOS v4.0 では、GMSPlaceField が NS_OPTIONS に更新され、フィールドを組み合わせる場合に、Swift でより使い慣れた構文である配列リテラルを使用できるようになりました。
上記のコード スニペットを書き換えると、次のようになります。
非推奨 API の廃止
バージョン 4.0 以降は、Places SDK for iOS で非推奨 API のサポートがいくつか終了し、別の方法に置き換えられます。
GMSPlaceのopenNowStatusプロパティは削除されました。このステータスを取得するには、場所の営業時間に関する詳細情報が含まれているフィールドopeningHoursを使用してください。GMSAutocompleteFetcher.init(bounds:,filter:)/initWithBounds:filter:は削除され、GMSAutocompleteFetcher.init(filter:)/initWithFilter:に置き換えられました。プロパティ
autocompleteBoundsとboundsModeはGMSAutocompleteViewController、GMSAutocompleteResultsViewController、GMSAutocompleteContextViewController、GMSAutocompleteFetcher、GMSAutocompleteTableDataSourceから削除され、autocompleteFilterプロパティのlocationBiasとlocationRestrictionの値に置き換えられました。GMSAutocompleteViewController、GMSAutocompleteResultsViewController、GMSAutocompleteTableDataSourceの非推奨ヘルパー メソッドsetAutocompleteBoundsUsingNorthEastCorner(_, southWestCorner:)/setAutocompleteBoundsUsingNorthEastCorner:SouthWestCorner: は削除され、autocompleteFilterプロパティのlocationBiasまたはlocationRestrictionの値を設定できるようになりました。GMSPlacesClient autocomplete(_,bounds:,filter:,callback:)/autocompleteQuery:bounds:filter:callback:、autocomplete(_,bounds:,boundsMode:,,filter:,callback:)/autocompleteQuery:bounds:boundsMode:filter:callback:、findAutocompletePredictions(fromQuery:,bounds:,boundsMode:,filter:,sessionToken:,callback:)/findAutocompletePredictionsFromQuery:bounds:boundsMode:filter:sessionToken:callback:の非推奨ヘルパー メソッドは削除され、findAutocompletePredictions(fromQuery:,filter:,sessionToken:,callback:)/findAutocompletePredictionsFromQuery:filter:sessionToken:callbackに置き換えられました。
古いメソッドを引き続き使用するには、置き換えプロパティを使用するようにコードを更新する準備ができるまで、4.0 よりも前のバージョンを指定してください。
バージョン 4.0 をインストールしサンプルを確認するには
CocoaPods や Carthage を使用して iOS 向けの Maps SDK と Places SDK のバージョン 4.0 をインストールできるようになりました。また、バージョン 4.0 の SDK には Xcode 11.7 以降を使用することをおすすめします。これらの SDK の概要をつかむには、Swift と Objective-C のサンプルや Maps for iOS ユーティリティ ライブラリをご確認ください。
Google Maps Platform の詳細については、ウェブサイトをご覧ください。
-デベロッパー プログラム エンジニア Christopher Arriola


