Portus
App Store Connectのメタデータを扱うmacOSネイティブアプリ。
何を解いているか
App Store Connect は、ロケールごとにタブを開かせる作りです。14ストアフロントに出しているアプリの「このバージョンの新機能」を1行直すには、タブを14枚開いて同じ操作を14回します。直したい単位はフィールドなのに、UIの単位はロケールです。
なぜ作ったか
自社アプリを14ストアフロントに送り出す午後を短くするために作っています。Portusは軸を入れ替えます。フィールドを選ぶと、その項目の全ロケールが1画面に並びます。まとめて編集して、変更したフィールドだけをPushします。 ファイルを正とする方式は採りませんでした。App Store Connect の現行値を引いてきて、下書きの上に差分を積む形にしています。Pushするまで、このMacから何も出ません。
設計の判断
ロケール軸をやめ、フィールド軸に寄せた
言語ごとに1画面を開く並べ方と、フィールドごとに全言語を縦に並べる並べ方を、切替スイッチ付きで両方持たせていました。 使ってみると、直すときはいつも同じ欄を全言語ぶんでした。 ロケール軸と切替そのものを外し、フィールド軸だけを残しています。 文字数の上限も差分の有無も、同じ画面に収まります。
ロケールを行、フィールドを列に取った同じ表。外した案は行を選び、採用した案は列を選ぶ ファイルを正とせず、現行値に差分を積む
手元のファイルを正とする方式は採っていません。 App Store Connectの現行値を引いてきて、その上に下書きの差分を積む形にしています。 変更したフィールドだけをPushするので、触っていない欄を上書きしません。 書き出しの経路は持たせていないので、PushするまでこのMacから何も出ません。
現行値の層と未送信の差分の層を分け、差分のある欄だけを App Store Connect へ送る API キーは端末の Keychain だけに置く
App Store Connect APIキーの紛失は情報漏洩です。 鍵はこの端末のKeychainだけに置き、iCloud同期の対象外にしています。 別のMacへ移行しても鍵は移りません。 署名はプロセス内で行い、リクエストはMacから直接App Store Connectへ向かいます。 経路上にサーバーを置いていません。
キーは端末の Keychain に留まり、iCloud にも中継サーバーにも渡らない エージェントには送信させず、承認を挟む
MCPサーバーを内蔵していますが、エージェントが書けるのは下書きまでです。 Pushはアプリに確認ダイアログを開くところまでしかしません。 人が承認して初めて送信されるので、黙って公開される経路がありません。
エージェントは下書きまで。App Store Connect へ出る矢印は承認の後にだけ現れる
提供形態
- 状態
- 近日公開
- 対応プラットフォーム
- macOS
- 動作要件
- macOS 26.5 以降
- 価格
- 無料(アカウント不要)
- 鍵の保管
- このMacのKeychainのみ(iCloud同期なし)
- AI連携
- MCPサーバー内蔵(Pushは人間の確認を必須)
- プラットフォーム
- macOS
ほかのプロダクト
同じプラットフォーム向けに作っているものです。
