Mapbox の Example アプリ動作
概要
- サンプル動かすだけ
- しかし、ちゃんと説明読んでなかったので準備が足らずにハマった
- その時のメモ
先にまとめ:必要な前提セット
- Mapbox にユーザ登録(https://mapbox.com)
- secret key(
sk.*
)と public key(pk.*
)を取得 ~/.netrc
に secret key を登録(SPM で使用)~/.mapbox
に public key を記載(SDKの初期化 fallback 用)- プロジェクト内
Info.plist
に public key を記載 - 実機実行するなら 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. ユーザ登録
ユーザ登録を済ませる
前提2. アクセストークンの取得
種類 | キーの例 | 操作 | 用途 |
---|---|---|---|
public | pk.**** | 登録時に作成される | アプリの実行時の認証 |
secret | sk.**** | 追 加する必要あり | パッケージのダウンロード認証 |
- 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」タブ。
キー | 値 | 備考 |
---|---|---|
MBXAccessToken | pk.******* | public キーを指定 |
- ここで設定するのは public キー
前提6. Signing & Capabilities 設定
( Apple Developper 登録してあって実機を使う場合のみ )
- プロジェクト名選択した状態で「Signing & Capabilities」タブ
→ Team
欄で 自分のアカウントを選択
操作. ビルド&実行!
- ここまで来てやっと、ビルド+実行可!