Skip to content

feat(mobile/ios): 実機のアプリ 112 本を宣言に取り込む - #342

Merged
gapul merged 2 commits into
mainfrom
feat/ios-apps-declare
Aug 16, 2026
Merged

feat(mobile/ios): 実機のアプリ 112 本を宣言に取り込む#342
gapul merged 2 commits into
mainfrom
feat/ios-apps-declare

Conversation

@gapul

@gapul gapul commented Aug 15, 2026

Copy link
Copy Markdown
Owner

実機 (iPhone 16 / iOS 26.6) から全アプリを吸い出して mobile/ios/apps.tsv を総入れ替えした。

なぜ

それまでの宣言は 12 行で、そのうち 5 行が実機と食い違っていた。差分検出として機能していなかった。

宣言 実機
io.tailscale.ipn.macos io.tailscale.ipn.ios (macOS の id を書いていた)
im.vector.app io.element.elementx (Element X に移行済み)
org.jellyfin.swiftfin org.jellyfin.expo (公式クライアントに移行済み)
org.mqttitude.MQTTitude com.aaronpk.overland (位置ログは Overland に移行済み)
com.kodjodevf.mangayomi 端末から消えている

中身

  • apps.tsv … 112 行。用途でグループ分けして、4 列目の同期経路も埋めた (Obsidian → LiveSync、Overland → Dawarich、Paperless → paperless-ngx など)
  • apps.sh … AltStore は再署名で bundleId に team id を差し込む (net.gapul.blinknet.gapul.blink.S3H296G6Q5、AltStore 自体は com.S3H296G6Q5. 接頭辞)。宣言には配布元の id を書き、実機側を正規化して突き合わせるようにした
  • apps.sh … source 種別 manual を追加。配布元が AltStore 形式の JSON を出していないもの (PAL のマーケットプレイス本体、Epic Games、まだ source に載せていない自ビルド) 用で、verify は素通しする
  • sources.tsv … Aidoku と AltStore 公式の source を追加。これで Aidoku と classic 版 AltStore が機械で確かめられる

確認

  • mobile/ios/apps.sh verify … 「宣言したアプリはすべて経路上に実在する」(CI の mobile-drift がこれを回す)
  • mobile/ios/test.sh … 4 項目すべて ok
  • just docs / just fmt

残り

  • apps.sh status は USB 接続が要るので、この PR では回せていない (今の実機は無線デバッグのみ)。次にケーブルを挿したときに just ios-apps で確認したい
  • Amgi (自ビルドの Anki fork) は gapul/altstore-source に載せれば manual から altstore-classic に格上げできる

gapul added 2 commits August 15, 2026 21:42
実機 (iPhone 16 / iOS 26.6) から全アプリを吸い出して apps.tsv を総入れ替えした。
それまでの 12 行のうち 5 行が実機と食い違っていて、差分検出として機能していなかった。

AltStore は再署名で bundleId に team id を差し込む (net.gapul.blink →
net.gapul.blink.S3H296G6Q5、AltStore 自体は com.S3H296G6Q5. 接頭辞)。宣言には
配布元の id を書き、apps.sh 側で実機の id を正規化して突き合わせるようにした。

配布元が AltStore 形式の JSON を出していないもの (PAL のマーケットプレイス本体、
Epic Games、まだ source に載せていない自ビルド) 用に source 種別 manual を足した。
Aidoku と AltStore 公式の source は sources.tsv に追加して verify を通した。
grep | head -1 のパイプは、宣言が長いと head が先に閉じて grep が SIGPIPE で
死ぬ。pipefail でそれを拾って全体が失敗していた (CI で実際に落ちた)。
awk 一発に置き換えてパイプ自体を無くした。Android 側も同じ書き方なので直した。
@gapul
gapul merged commit d95c3af into main Aug 16, 2026
1 check passed
@gapul
gapul deleted the feat/ios-apps-declare branch August 16, 2026 05:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant