2025-09-03

WindowsのiTunesでAd Hocの.ipaファイルがインストールできないとき

結論

iTunesのオプション「音楽とビデオを手動で管理」をオンにするとipaファイルをインストールできるようになるかも。
以下、もうちょっと詳しい説明を。

Windowsでも開発中のipaファイルをiPhone/iPadにインストールしたい

開発中のiOS/iPadOSアプリを実機で確認したいとき。Macがあれば問題なくインストールできますが、ある程度の人数になるとどうしてもWindowsも使うことになります。
TestFlightを使えばWindowsもMacも関係ないのですが、毎回準備するのは地味に面倒で。

WindowsでもiTunesを使えばipaをインストールできるよ、という話はちょいちょい見かけます。
曰く、ipaファイルをiTunesの「自分のデバイス上」にドラッグ&ドロップ――というので試してみたら、iTunesは無反応(右画像)。

さらに調べてみると、最近のiTunesでは利用できないので古いiTunesを使おうとあります。そこでiTunesを入れ直してみたら、今度は古いiTunesが新しめのiPhoneに対応しておらず接続できないというエラー。

iTunesの代わりにサードパーティー製のツールを使えば可能、という記事も見かけます。でも業務用PCなので情シスから許可がおりない、というところも多いかも。

おとなしくTestFlightを使うしかないのでしょうか。もしくはMacを買うか。

iTunesのオプション「音楽とビデオを手動で管理」をオンに

Macを買うのも悪くないですが、実はWindowsのiTunesでも何とかなるかもしれません。
iTunesはMicrosoft Storeにある最新版で構いません。(バージョン12.13.~で確認しました)

iTunesの右ペイン、オプション欄の「音楽とビデオを手動で管理」をオンにして「同期」を押してみます。
改めてipaファイルをドラッグすると……。
「自分のデバイス上」の背景色が変わりました!
この状態でドロップすれば、iPhone/iPadでipaファイルのインストールが始まります。よかった!

(おまけ)ipaファイルをインストールできたけど起動しないとき

iPhoneにipaファイルをインストールはできました。
でも起動しようとしても「このアプリは、整合性を確認できなかったためインストールできません」というエラーダイアログが表示されることがあります。ホーム画面のアプリアイコンも正しく表示されてないし。

そんなときは多分、端末のUDIDをそもそも登録していないか、登録してあってもプロビジョニングプロファイルを作り直していないからのような気がします。

2025-01-24

LastPassのCSVエクスポートがカスタムフィールドを出力しないのでCLIで頑張る

LastPassのCSVエクスポート機能はユーザーIDとパスワードしか出力しない

LastPass、情報漏洩やプラン改訂など色々ありましたが惰性でずっと使っていましたが、まあさすがにそろそろどこかに引っ越そうかと。
まずはLastPassに保存してある情報を引き出すことにしました。

手順としては、Webページのサイドメニュー Advanced Options → Export とシンプル。
ただ、この手順でダウンロードできるCSVファイルには、保存した情報のうちユーザーIDとパスワードしか出力されないというのです。それ以外の入力欄に自動入力すべく Add Form Field の機能で登録しておいた値(以下カスタムフィールドと呼びます)は、このCSVに含まれていません。

エクスポート機能が必要な情報を一部しか出力しないというのはちょっと怖すぎます。エクスポートして他のパスワードマネージャーに移行した後は、LastPassに登録してあった情報はふつう削除するわけで。カスタムフィールドがエクスポートされていないことに後で気づいても取り返しがつきません。恐ろしい。
これはもう何としても他に移行しなくては、という気持ちが高まります。

ブラウザ拡張機能のエクスポートが動作しない?

気持ちが高まったところで、カスタムフィールドを出力する手段はあるのでしょうか。
調べてみると、先ほどとは別のエクスポート機能があるとのこと。
なぜそんなややこしいことになっているのか解せませんが、とりあえず試してみます。
先ほどはWeb画面で操作しましたが、今度はブラウザ拡張機能の Account → Fix a problem yourself → Export vault items → Export data for use anywhere と進みます。ところが、何度試しても無反応。ログアウト→ログインしたりしてみますが変わりません。
不具合なのか何なのか分かりませんが、今すぐ他に移行せねばという気持ちが決定的になってきました。

さて、カスタムフィールドのエクスポートは諦めるしかないのでしょうか。
最悪、Vault(保管庫)の中身をサイトごとに1件1件目視していけば確認はできます。が、面倒すぎますし、人力だと見落としそうなので極力避けたく。

さらに調べてみたら、CLI(コマンドラインツール)を使えばカスタムフィールドの出力が可能とのこと。
ちょっと面倒そうですが、仕方ない、頑張ってみますか!

lastpass-cliをインストールする

lastpass-cli(https://github.com/lastpass/lastpass-cli)は、LastPassが公式にサポートするオープンソースのツールです。
なので罠が仕掛けてあって闇の組織にパスワードをごっそり盗まれたり…という心配はそんなにしなくてもよさそう。

インストール方法は上記GitHubのページにそれぞれの環境向けの手順が説明されています。
Debian/Ubuntuであれば以下のような感じ。Windows(WSL)でも大丈夫です。
$ sudo apt-get install lastpass-cli
詳しい使い方はマニュアルにありますが、とりあえずカスタムフィールドを含む全登録情報をごそっと出力するだけなら以下の2コマンド(ログイン→出力)で行けました。

CLIでログイン

まずはログイン。
$ lpass login USERNAME
USERNAMEはご自身のLastPassのユーザー名(メールアドレス)に読み替えてください。
実行するとパスワード入力ダイアログがコンソール内に表示されます。

なお私の場合、初回実行時に下記エラーが出ました。
Error: No such file or directory: mkdir(/home/****/.config/lpass)
.configディレクトリを作ったら解消しました。
$ mkdir .config
$ chmod 700 .config
パーミッションは755のままでもいいのかもしれないですが念のため。

全情報を一括エクスポート

ログインしたら、次のコマンドでVault内の全登録情報を一気に出力できます。
$ lpass show -G . -x
オプションを簡単に説明すると、
【-G】全サイトを対象
--basic-regexp の省略形。正規表現として「.」を指定することで、全サイトにマッチさせます
【-x】複数サイトが対象の場合も情報を表示する
--expand-multi の省略形。デフォルトでは複数サイトがマッチした場合はサイト名しか表示しませんが、このオプションを指定すると情報を表示します
これでカスタムフィールドもエクスポートが完了しました。
テキストコンソールが怖くない人ならlastpass-cliは試してみる価値アリです。