LoginSignup
1
0

More than 3 years have passed since last update.

RAD Studio/Delphi/C++BuilderでのiOS/macOS向けアプリ開発で実機デプロイに用いるブリッジサーバのPAServerを対話的に選択起動するランチャーを作る

Last updated at Posted at 2017-02-22

本記事のサマリ

  • RAD Studio/Delphi/C++Builder でのiOS/macOS向けアプリ開発ではPAServerが必須
  • PAServer はWindows上のIDEからmacOSを経由して実機デプロイするためのブリッジサーバ
  • PAServer は RAD Studio/Delphi/C++Builder の個々のバージョンに付属するものを用いる
  • Bash が大好きなエンジニアとしては、PAServer はシェルから起動しつつ、でも対話的に複数バージョンを選ぶインタフェースも欲しい

プロローグ

マルチプラットフォーム向け開発環境のRAD Studio/Delphi/C++Builderを使用するときに、iOSやmacOS向けの実機デプロイで欠かせないのはPAServerというブリッジサーバです。RAD Studio/Delphi/C++BuilderのIDEはWindows上で動きますが、macOSやiOSの実機テストでのデプロイはmacOSを経由せねばならないので、そのためにmacOS上で動かすブリッジサーバがPAServerです。

そしてPAServerはRAD Studio/Delphi/C++Builderのバージョンに合致したものを使う必要があります。様々な理由によってRAD Studio/Delphi/C++Builderの複数バージョンを併用する場合では、起動するPAServerを適切に選択実行せねばなりません。

しかしPAServerの実行は基本的にGUI操作となりますので、利用するRAD Studio/Delphi/C++Builderのバージョンに合ったものを選んで実行しておかねばなりません。このときにマウス(タッチパッド)の操作でPAServerを選択起動するのが案外めんどくさいなあ、と思ったので、ターミナル上からPAServerを対話的に選択実行するlauncherを作ってみました。

実装方針

基本的な実装は bash のシェルスクリプトです。キーボードからのタイピングだけでPAServerを選択起動できるので、自分にとってはこれがベスト。

そして以下のような方針で実装してみます。

  • /Applications/PAServer-*.app/ にインストールされた PAServer は全てリストアップして対話的に操作できるようにする
  • peco があればインタラクティブなUIのために用いる
  • peco が無くてもメニュー方式で使えるようにする
  • メニュー表示は ja/en/de/fr の4ヶ国語対応できるようにする(やる意味はほとんど無いけれど)

実装

こちらのGithubリポジトリより PAServer.sh をダウンロードしてご利用いただけます。気が向いたら適時改良しています。
https://github.com/kazinoue/paserver-launcher

最新の実装では ~/.paserverrc が存在したら設定ファイルとみなして自動的に読み込むようにしましたので、PAServerへの接続パスワードを常に設定したい場合などに便利に使えます。

実行例

peco と組み合わせた場合

paserver_launcher_script1.gif

peco や percol がない場合

paserver_launcher_script2.gif

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0