RN で iTunes で同期したファイルを見るだけのシンプルなファイラーを作ってるんだけど、下記の記事にある通り、 iOS 8 以降のシミュレータでは随分とややこしいところにそのファイルが配置される。
[iOS] iOS8シミュレータでのDocumentsディレクトリの場所
どうやらいいアプリもあるみたいなんだけど、なんかこんなことでアプリインストールしたくないなと思ってしまったので、下記の手順で無理やり調べてみた。
# シミュレータを起動して、そのデバイス ID を調べる↓
$ xcrun simctl get_app_container booted {Bundle ID}
/Users/.../Library/Developer/CoreSimulator/Devices/{device_id}/data/Containers/Bundle/Application/.../AwesomeFinder.app
# {device_id} を上記の値使って埋めて移動
$ cd /Users/.../Library/Developer/CoreSimulator/Devices/{device_id}/data/Containers/Data/Application
# どれが自分の作ったアプリケーションのフォルダか調べる (silver searcher 使ってるけど grep とかでもできると思う)
$ ag --hidden --search-binary AwesomeProject **/.com.apple.mobile_container_manager.metadata.plist
Binary file {ID}/.com.apple.mobile_container_manager.metadata.plist matches.
# 上記の ID 使って移動
$ cd {ID}/Documents
バイナリファイルの中の文字列を読み取ってるあたりがやばい。趣味アプリだからまぁいいけど、自動テストやろうと思ったらこんなゴリ押しな方法しかないの……?