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

課金を有効にして API キーを作成すると、Xcode を設定できるようになります プロジェクトを作成します。

各バージョンのリリースノート なります。

ステップ 1: 必要なソフトウェアをインストールする

Maps SDK for iOS を使ってプロジェクトを作成するには、以下をダウンロードしてインストールする必要があります。

  • Xcode バージョン 15.0 以降

ステップ 2: Xcode プロジェクトを作成し、Maps SDK for iOS をインストールする

Swift Package Manager

Maps SDK for iOS は でインストールできます。 Swift Package Manager。SDK を追加するには、 既存の Maps SDK for iOS の依存関係をすべて削除しました。

新規または既存のプロジェクトに SDK を追加する手順は次のとおりです。

  1. Xcode project または workspace を開き、[File >パッケージの依存関係を追加する
  2. URL として「https://github.com/googlemaps/ios-maps-sdk」と入力し、Enter キーを押します。 [パッケージを追加]をクリックします
  3. 特定の version をインストールするには、[Dependency Rule] フィールドを次のいずれかに設定します。 オプションを提供します。新しいプロジェクトの場合は、最新バージョンと 1 つのバージョンを 「正確なバージョン」を使用して選択します。完了したら、[Add Package] をクリックします。
  4. [Choose Package Products] ウィンドウで GoogleMaps を確認します(9.0.0 より前のバージョンの場合は、 GoogleMaps さん、GoogleMapsBase さん、 GoogleMapsCore)が以下に追加されます 指定した main ターゲット。完了したら、[Add Package] をクリックします。
  5. インストールを確認するには、ターゲットの General ペインに移動します。 [Frameworks, Libraries, and Embedded Content] に、インストールされたパッケージが表示されます。 [Package Dependencies] ビューもセクション(プロジェクト ナビゲーター) パッケージとそのバージョンを確認します。

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

  1. 9.0.0 より前のバージョンからアップグレードする場合は、 次の依存関係: GoogleMapsBaseGoogleMapsCore、 アップグレード後に GoogleMapsM4B。次の依存関係を削除しないでください。 GoogleMaps。詳しくは、 バージョン 9.0.0 リリースノート

    Xcode プロジェクト構成設定で、フレームワーク、ライブラリ、 および埋め込みコンテンツをご覧ください。マイナス記号(-)を使用して、次のフレームワークを削除します。

    • GoogleMapsBase(9.0.0 より前のバージョンからのアップグレードのみ)
    • GoogleMapsCore(9.0.0 より前のバージョンからのアップグレードのみ)
    • GoogleMapsM4B(9.0.0 より前のバージョンからのアップグレードのみ)
  2. Xcode で、[File] > [パッケージ >最新のパッケージ バージョンへの更新」を選択します。
  3. インストールを確認するには、Project Navigator の [Package Dependencies] セクションに移動します。 パッケージとそのバージョンを確認します。
で確認できます。 <ph type="x-smartling-placeholder">

以下を使用して、追加された既存の Maps SDK for iOS 依存関係を削除するには CocoaPods の手順は次のとおりです。

  1. Xcode ワークスペースを閉じます。ターミナルを開き、次のコマンドを実行します。
    sudo gem install cocoapods-deintegrate cocoapods-clean 
    pod deintegrate 
    pod cache clean --all
  2. PodfilePodfile.resolved、および CocoaPods 以外で使用していない場合には、Xcode workspace です。

手動でインストールした既存の Maps SDK for iOS を削除する手順は次のとおりです。 <ph type="x-smartling-placeholder">
    </ph>
  1. Xcode プロジェクト構成設定で、フレームワーク、ライブラリ、 および埋め込みコンテンツをご覧ください。マイナス記号(-)を使用して、次のフレームワークを削除します。 <ph type="x-smartling-placeholder">
      </ph>
    • GoogleMaps
    • GoogleMapsBase(インストールの場合のみ) (バージョン 9.0.0 より前)
    • GoogleMapsCore(インストールの場合のみ) (バージョン 9.0.0 より前)
    • GoogleMapsM4B(インストールの場合のみ) (バージョン 9.0.0 より前)
  2. Xcode プロジェクトの最上位ディレクトリから、GoogleMaps を削除します。 あります。

CocoaPods

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

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

sudo gem install cocoapods

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

  1. Xcode プロジェクトがまだない場合は、ここで作成して インストールします。iOS 開発が初めての場合: <ph type="x-smartling-placeholder">
      </ph>
    1. 新しいプロジェクトを作成する。
    2. [iOS >App テンプレート。
    3. プロジェクト オプション画面で次の操作を行います。 <ph type="x-smartling-placeholder">
        </ph>
      1. [Project Name] を入力します。
      2. [バンドル ID] フィールドの値を記録します。 この値を使用して、以下の API キーを制限できます。
      3. プロジェクトの [Interface] を [Storyboard] に設定します。
      4. [言語] を [Swift] または [Objective-C] に設定します。
  2. プロジェクトのディレクトリに、Podfile という名前のファイルを作成します。このファイルでプロジェクトの依存関係を定義します。
  3. Podfile を編集し、依存関係と依存関係を追加します。 versions. この例には、Terraform の実行時に必要な依存関係が含まれ、 Maps SDK for iOS:
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '15.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps', '8.4.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 コマンドを実行します。これにより、すべての API が更新されます Podfile で指定されたバージョンを最新バージョンに変更します。

手動インストール

このガイドでは、Maps SDK for iOS を含む XCFrameworks をプロジェクトに手動で追加し、Xcode でビルド設定を構成する方法について説明します。XCFramework は、Apple シリコンを使用するマシンなど、複数のプラットフォームで使用できるバイナリ パッケージです。
  1. 次の SDK バイナリとリソース ファイルをダウンロードします。 <ph type="x-smartling-placeholder">
  2. ファイルを解凍して、XCFrameworks とリソースにアクセスします。
  3. Xcode プロジェクトがまだない場合は、ここで作成して インストールします。iOS 開発が初めての場合: <ph type="x-smartling-placeholder">
      </ph>
    1. 新しいプロジェクトを作成する。
    2. [iOS >App テンプレート。
    3. プロジェクト オプション画面で次の操作を行います。 <ph type="x-smartling-placeholder">
        </ph>
      1. [Project Name] を入力します。
      2. [バンドル ID] フィールドの値を記録します。 この値を使用して、以下の API キーを制限できます。
      3. プロジェクトの [Interface] を [Storyboard] に設定します。
      4. [言語] を [Swift] または [Objective-C] に設定します。
  4. [全般] タブを開きます。次の XCFrameworks をプロジェクトにドラッグします [フレームワーク、ライブラリ、埋め込みコンテンツ] に移動します。確認事項 XCFramework ごとに [Do Not Embed] を選択します。 <ph type="x-smartling-placeholder">
      </ph>
    • GoogleMaps.xcframework
    • GoogleMapsBase.xcframework
    • GoogleMapsCore.xcframework
  5. GoogleMaps.bundleGoogleMapsResources からコピーします。 Xcode プロジェクトの最上位ディレクトリにダウンロードしたファイルを使用します。まず プロンプトが表示されたら、アイテムを宛先グループのフォルダにコピーします
  6. プロジェクト ナビゲータでプロジェクトを選択し、 通信できます。
  7. アプリケーションのターゲットの [Build Phases] タブを開きます。 [Link Binary with Libraries] で、以下を追加します。 フレームワークとライブラリ: <ph type="x-smartling-placeholder">
      </ph>
    • Accelerate.framework
    • Contacts.framework
    • CoreData.framework
    • CoreGraphics.framework
    • CoreImage.framework
    • CoreLocation.framework
    • CoreTelephony.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libc++.tbd
    • libz.tbd
    • Metal.framework
    • OpenGLES.framework(OpenGL を使用している場合のみ)
    • QuartzCore.framework
    • SystemConfiguration.framework
    • UIKit.framework
  8. 特定のターゲットではなくプロジェクトを選択して、 [Build Settings] タブ。[Linking - General ->]その他のリンカー フラグセクションに -ObjC を「Debug」に追加[リリース]を選択しますこれらの 設定が表示されない場合は、[Build Settings] バーでフィルタを変更してください。 [基本] から [すべて] に切り替えます。

  9. Places SDK for iOS XCFramework をインストールする方法については、以下をご覧ください。 はじめに Places SDK for iOS と連携しています

ステップ 3: Apple のプライバシー マニフェスト ファイルを調べる

Apple が App Store のアプリについては、アプリのプライバシーに関する詳細情報を必要とします。最新情報などについては、Apple App Store のプライバシーの詳細ページをご覧ください。

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

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

[API キーを取得] で、 アプリの API キーを生成したとき。そのキーを Xcode プロジェクトに追加します。

以下の例で YOUR_API_KEY とある箇所は、実際の API キーに置き替えてください。

Swift

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

  1. 次の import ステートメントを追加します。
    import GoogleMaps
  2. application(_:didFinishLaunchingWithOptions:) に以下を追加します。 メソッドを呼び出し、API キーを使用します。
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. Places API も使用している場合は、次のようにキーを再度追加します。
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

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

  1. 次の import ステートメントを追加します。
    @import GoogleMaps;
  2. application:didFinishLaunchingWithOptions: に以下を追加します。 メソッドを呼び出し、API キーを使用します。
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. Places API も使用している場合は、次のようにキーを再度追加します。
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

ステップ 5: 地図を追加する

Swift

/*
 *   Copyright 2020 Google Inc. All rights reserved.
 *
 *
 *   Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 *   file except in compliance with the License. You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software distributed under
 *   the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 *   ANY KIND, either express or implied. See the License for the specific language governing
 *   permissions and limitations under the License.
 */

import UIKit
import GoogleMaps

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        // Create a GMSCameraPosition that tells the map to display the
        // coordinate -33.86,151.20 at zoom level 6.

        let options = GMSMapViewOptions()
        options.camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
        options.frame = self.view.bounds

        let mapView = GMSMapView(options: options)
        self.view.addSubview(mapView)

        // Creates a marker in the center of the map.
        let marker = GMSMarker()
        marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
        marker.title = "Sydney"
        marker.snippet = "Australia"
        marker.map = mapView
  }
}

Objective-C

/*
*   Copyright 2020 Google Inc. All rights reserved.
*
*
*   Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
*   file except in compliance with the License. You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
*   Unless required by applicable law or agreed to in writing, software distributed under
*   the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
*   ANY KIND, either express or implied. See the License for the specific language governing
*   permissions and limitations under the License.
*/

#import "ViewController.h"
#import <GoogleMaps/GoogleMaps.h>

@interface ViewController()

@end

@implementation ViewController

-   (void)viewDidLoad {
  [super viewDidLoad];
  // Do any additional setup after loading the view.
  // Create a GMSCameraPosition that tells the map to display the
  // coordinate -33.86,151.20 at zoom level 6.
  GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
  options.camera = [GMSCameraPosition cameraWithLatitude:-33.8683
                                                        longitude:151.2086
                                                             zoom:6];
  options.frame = self.view.bounds;
  GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];

  [self.view addSubview:mapView];

  // Creates a marker in the center of the map.
  GMSMarker *marker = [[GMSMarker alloc] init];
  marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
  marker.title = @"Sydney";
  marker.snippet = @"Australia";
  marker.map = mapView;
}

@end

ステップ 5(省略可): API で使用する URL スキームを宣言する

iOS 9 および Xcode 7 以降では、使用する URL スキームをアプリで宣言できます。 そのスキームをアプリの Info.plist ファイルで指定します。「 ユーザーがクリックすると、Maps SDK for iOS が Google マップ モバイルアプリを開きます 表示されるため、アプリで関連 URL を宣言できます。 説明します。

Maps SDK for iOS で使用する URL スキームを宣言するには、 Info.plist に次の行を追加します。

LSApplicationQueriesSchemes <ph type="x-smartling-placeholder"></ph> Google Chrome comgooglemaps

次のスクリーンショットは、Xcode でのユーザー インターフェースでの設定を示しています。

LSApplicationQueriesSchemes 構成が
Xcode

上記の宣言を行わないと、ユーザーが 地図上には Google ロゴが表示されます。

  • -canOpenURL: URL「comgooglemaps://」に対して失敗- エラー: 「このアプリは スキーマ「comgooglemaps」のクエリを許可
  • -canOpenURL: が URL「googlechromes://」で失敗- エラー: 「このアプリは スキーム「googlechromes」のクエリを許可する

これらのエラーを排除するには、Info.plist に宣言を追加します。

次のステップ

API キーと Xcode プロジェクトが用意できたので、アプリを作成して実行できます。 Navigation SDK for iOS には、作業に役立つチュートリアルやサンプルアプリが豊富に用意されています。 始めましょう。詳しくは以下をご覧ください。