iOS 開発者ガイド for SDK

HERE SDK を使用して簡単なアプリを作成します

このガイドでは、 SDK 用の簡単な iOS アプリケーションを作成して、 iOS デバイス でマップをレンダリングする方法について説明します。 パン、回転、チルト、ピンチなどのタッチジェスチャを使用して、地図をナビゲートできます。 このガイドの内容は、 Xcode 13.0 および iOS SDK に適用 16 されます。

このチュートリアルは、 Objective-C を使用した開発に適用されます Swift を使用して同じタスクを実行する方法については 、「 Swift を使用してシンプルな HERE SDK アプリを作成する」を参照してください。

HERE SDK 資格情報を取得します

Before working with HERE SDK you need to acquire a set of credentials by registering your application on https://here-tech.skawa.fun. Each application requires a unique set of credentials. For the available authentication options, see the Identity & Access Management Developer Guide.

新しいシングルビューアプリケーションを作成します

  1. Xcode メニューから 、ファイル新規/プロジェクトを選択 して、新規プロジェクトダイアログボックスを開きます ( または、 Shift キーを押しながら Command キーを押しながら N キーを押します ) 。
  2. 作成するアプリケーションの種類として、 iOS > Application > Single View Application を選択します。 次へを押します。
  3. In the next dialog enter your Product Name (such as HelloMap) and Organization Identifier (such as edu.self). The resulting Bundle Identifier must be the same as you have registered on here-tech.skawa.fun.
  4. 次に 、「言語」の下の「 Objective-C」を選択し、「次へ」をクリックします。 プロジェクトを保存するディレクトリに移動 し、 [ 作成 ] を選択します。
  5. 次の手順で は、このプロジェクトで HERE SDK を使用するように設定します。

iOS for SDK を追加します

SDK for iOS をXcode プロジェクトに追加するには、次の 2 つの方法があります。
  • CocoaPods.
  • 動的フレームワークを手動でインポートします

CocoaPod を使用して HERE SDK をインポートするには、次の手順を実行

  1. プロジェクトに Podfile を作成し、次の内容を追加します。 を YourApp プロジェクト名に置き換えます。
    platform :ios, '13.0'
    target 'YourApp' do
      pod 'HEREMaps'
    end
  2. 次に、ワークステーションのコマンドラインターミナルを開きます。 プロジェクトのルートフォルダーから、次のコマンドを実行します。
    pod install
注 : Cocoapods は NMAKit.xcframework Apple が推奨するフォーマットを統合します。

または 、 HERE SDK 動的フレームワークを手動でインポートするには、次の手順を

  1. ダウンロードSDK for iOS package from https://here-tech.skawa.fun and extract it to somewhere in your local file system.
  2. NMAKit.xcframework を Xcode プロジェクトに追加します。 アプリのターゲットをクリックし、 [ 全般 ] タブを選択します。 「フレームワーク、ライブラリ、および埋め込みコンテンツ」というセクションを探し、プラス記号 (+) をクリックして、「その他を追加」をクリックしてから、「ファイルを追加」ボタンをクリックします。 ファイルダイアログボックスで、「 NMAKit.xcframework 」フォルダを選択し、 「完了」をクリックします。
    図 1. NMAKit.xcframework を追加しています
  3. NMAKit.xcframework が「フレームワーク、ライブラリ、および埋め込みコンテンツ」セクションに表示されていることを確認します。
    図 2. フレームワークを追加しました

アプリを確認して実行します

  1. 次に、モジュールが有効になっていることを確認します。 「ビルド設定」タブをクリックして、「 Apple Clang-Language-Modules 」セクションに移動します。 「モジュールの有効化 (C および Objective-C ) 」の値が「はい」であることを確認してください。
    図 3. モジュールを有効にします
  2. アプリケーションを実行します。 Xcode メニューバーから 、 Product > Run を選択します。 プロジェクトが iOS シミュレータでエラーなく実行されていることを確認してください。
  3. SDK for iOS が Xcode プロジェクトで使用できるようになりました。 HERE SDK で動作するようにプロジェクトが設定されました。サンプルアプリケーションを拡張して、マップをレンダリングしてください。

マップ ビューを作成します

このセクションでは NMAMapView 、および NMAGeoCoordinates クラスを使用してマップをレンダリングします。

  1. を作成 NMAMapViewします。

    1. Main.storyboard ナビゲータでを選択し、 Command + Option + Control + 3 キーを押してユーティリティビューを開きます。 View オブジェクトを Object ライブラリから View Controller にドラッグアンドドロップします。 必要に応じて、ビューのサイズを変更して、表示領域全体を表示できるようにします。
    2. Interface Builder で、作成したビューをクリックし、 Command + Option + 3 キーを押してユーティリティビューで Identity Inspector を開きます。 クラスの値を UIView からに変更 NMAMapView し、 Return キーを押します。 [ ドキュメントのアウトライン マップ ビュー] に、ビューの名前が [ ビュー ] から [ ビュー ] に変更されたことが表示されます。
    図 4. マップビュー
  2. ViewControllerNMAMapViewへのアウトレットを作成します。

    1. Main.storyboard ナビゲータでを選択します。
    2. Command + Option + Return キーを押して、 Assistant Editor を開きます。 ViewController.m が表示されます
    3. このファイルの先頭に次のインポートステートメントを追加します。
      @import NMAKit;
    4. キーボードの Control キーを押しながらクリックし、マップ ビューから ViewController.m のインターフェイスブロックにドラッグします 青い線と、「コンセントまたはコンセントの接続」を示すツールチップが表示されます。 マウスボタンを離すと、ダイアログが表示され、アウトレットを作成できます。
    5. アウトレット の名前をマップビューにし、他のデフォルトオプションを使用してから [ 接続 ] を選択します。

    図 5. 出口を作成します
  3. アウトレットがに NMAMapView 設定されました。 変更されたファイルは次のとおりです。

    #import "HelloMapViewController.h"
    
    @import NMAKit;
    
    @interface HelloMapViewController ()
    @property (weak, nonatomic) IBOutlet NMAMapView *mapView;
    @end
    
    @implementation HelloMapViewController
    
    - (void)viewDidLoad
    {
      [super viewDidLoad];
    }
    
    - (void)didReceiveMemoryWarning
    {
      [super didReceiveMemoryWarning];
    }
    
    @end
  4. NMAMapViewviewDidLoad 次のようにメソッドを変更して、セットアップおよびライフサイクルコードを実装します。
    - (void)viewDidLoad
    {
      [super viewDidLoad];
      //set geo center
      NMAGeoCoordinates *geoCoordCenter =
        [[NMAGeoCoordinates alloc] initWithLatitude:49.260327 longitude:-123.115025];
      [self.mapView setGeoCenter:geoCoordCenter withAnimation:NMAMapAnimationNone];
      // Note, logo is not shown when its size is greater than 1/8 of NMAMapView's height or width.
      self.mapView.copyrightLogoPosition = NMALayoutPositionBottomCenter;
    
      //set zoom level
      self.mapView.zoomLevel = 13.2;
    }
  5. HEREアプリケーションの資格情報を追加します。
    1. AppDelegate.m を開き、 次のインポート文をファイルの先頭に追加して NMAKit をインポートします。
      @import NMAKit;
    2. Add the following to didFinishLaunchingWithOptions method replacing YOUR_APP_ID, YOUR_APP_CODE and YOUR_LICENSE_KEY with the credentials that you received from https://here-tech.skawa.fun.
      [NMAApplicationContext setAppId:@"YOUR_APP_ID"
                  appCode:@"YOUR_APP_CODE"
                  licenseKey:@"YOUR_LICENSE_KEY"];
  6. アプリケーションをビルドして実行します。 ビルドが正常に完了すると、次のスクリーンショットと同様のマップを表示するアプリケーションが作成され、ジェスチャを使用して操作できるようになります。

    図 6. アプリを実行しています アプリを実行しています