事の発端は、iOSアプリのAdHocビルドをOTA配布するためのplistファイルを作って欲しいというリクエスト。
複数のビルドターゲットxコンフィギュレーションを使っているプロジェクトなのでbundle-identifierはbuildディレクトリ下のターゲット名.app/Info.plistから取得するしかなく、これが圧縮されていてplistLibで読めなかったのです*1
plutil を使う
OSXにはplutilというコマンドがあり、
$ plutil -convert xml1 -o xmlファイルパス 圧縮plistファイルパス
とすると、-oで指定したファイルにxml形式に展開されたplistファイルが出力されます。あとはこれをplistLibで読むだけ。
ビルドスクリプトへの反映
これを組み込んだビルドスクリプトはGitHubに晒してあります。くやしかったのでTestFlight Upload APIでアップロードするスクリプトも書きました。
nowsprinting/ios-build · GitHub
このスクリプトで扱っている複数のビルドターゲットxコンフィギュレーションの扱いについては、次の記事に書いてありますのでご参考になれば。
複数のTarget/Configurationを持つiOSプロジェクトの構成Tips - やらなイカ?
参考
圧縮されたまま読む方法をググっていたためplutilに辿りつけなかったのですが*2、GitHubのコード検索で見つけたこのプロジェクトのおかげで解決しました