Skip to main content

Mapbox の Example アプリ動作

概要

  • サンプル動かすだけ
  • しかし、ちゃんと説明読んでなかったので準備が足らずにハマった
  • その時のメモ
先にまとめ:必要な前提セット
  1. Mapbox にユーザ登録(https://mapbox.com)
  2. secret key(sk.*)と public key(pk.*)を取得
  3. ~/.netrc に secret key を登録(SPM で使用)
  4. ~/.mapbox に public key を記載(SDKの初期化 fallback 用)
  5. プロジェクト内 Info.plist に public key を記載
  6. 実機実行するなら Signing 設定も

ダウンロード

GitHub にあるのでダウンロードする

https://github.com/mapbox/mapbox-maps-ios/tree/main

  • 公式ページからのリンクはバージョン指定のタグが指してあるが、そこはリンク切れになるので、main ブランチから取得した
  • clone でも、zip ダウンロードでも良い
サンプルプロジェクトを開く前に...

サンプルプロジェクトを開く前に以下の「前提」を済ませてから進む

そうしないと、このようなダイアログメッセージが出たりしてハマるので..

Package Resolution Failed
mapbox-maps-ios.git could not be resolved:

サンプルプロジェクトでなくても
  • サンプルプロジェクトでなくても必要になる操作なので、設定してある前提。 (~/mapbox ファイルは使うのか不明だが)

前提1. ユーザ登録

https://www.mapbox.com/

ユーザ登録を済ませる

前提2. アクセストークンの取得

種類キーの例操作用途
publicpk.****登録時に作成されるアプリの実行時の認証
secretsk.****追加する必要ありパッケージのダウンロード認証
  • public (pk.*) は、登録時に作成される
  • secret (sk.) は、画面から作成する必要あり

操作:

  • 管理画面 ( console.mapbox.com ) のトークンを作成する画面で、secret scope の どれか 1 つでも選択すると secret キーが作られる
  • パッケージのダウンロードに必要なキーは DOWNLOADS:READ だけなので、とりあえずこれにチェックを入れて作成

前提3. .netrc

  • secret キーを ~/.netrc に登録する
  • これ自体は、Mapbox 用のファイルではなく、curl 等でも使われる設定ファイル (なので、curl で接続の動作確認出来たりする)
  • Swift Package Manager (SPM) で mapbox パッケージをダウンロードするときに使われる
~/.netrc
machine api.mapbox.com
login mapbox
password <sk.*****>
chmod 600 ~/.netrc
  • 注意点
    • ユーザ名 は 登録ユーザ名でなく mapbox 固定
    • password も パスワードでなく secret トークンを指定する
    • 上記の通り permission も設定必要 (~/.ssh などと一緒)

前提4. ~/.mapbox ファイル作成

  • どこで使っているのか分からないが、これがないとビルド時に怒られる
  • ここで指定するのは public キー
本文備考
pk.*******public キーを指定
  • info.plist 設定がなかった場合のフォールバックみたいなので、無くても良いのかも

前提5. info.plist 設定

  • ここまで来てやっと、プロジェクトファイルを開ける
    • 適切に設定されていれば、開いたあと、パッケージが Download される

プロジェクトファイル開いたらプロジェクト名選択した状態で「Info」タブ。

キー備考
MBXAccessTokenpk.*******public キーを指定
  • ここで設定するのは public キー

前提6. Signing & Capabilities 設定

( Apple Developper 登録してあって実機を使う場合のみ )

  • プロジェクト名選択した状態で「Signing & Capabilities」タブ

Team 欄で 自分のアカウントを選択

操作. ビルド&実行!

  • ここまで来てやっと、ビルド+実行可!