SalmonRec
SalmonRecにはリザルト出力機能があるのだが、JSON形式とCSV形式のどちらを指定しても中身がスカスカなので分析に全く役に立ちませんでした。
で、困ったのでSalmonRecの作者さんにダメ元で相談してみたのです。
default.realmに保存されている全データの出力に対応して頂けないでしょうか…
近日中に対応しますので、それまでお待ちいただければと思います。
えっ、そんなにあっさり!?
というわけで、どうやら対応していただけるみたいです。ありがたい限りです。
ちなみにSalmonRecがデータ保存に利用しているのはRealmと呼ばれる軽量で高速なデータベースです。
主にモバイル用として使われているようですね。
待ちきれなかった
とはいうものの、さっさと中身が見たいというのがエンジニアの性というものです。
Realmはデータベース形式ではあるもののSQLなどとは互換性がないので特別なソフトで開く必要があります。
うーん、でもRealmって暗号化とかにもデフォルトで対応しているらしくて、暗号化されてたら読み出せないかも…
そんときはバイナリ読んで鍵抜き出せばいいじゃん…
それはめんどくさいのでヤダ。
ということで、暗号化されていないことを祈りつつ、バイナリエディタでデータベースを読み込んでみると…

これは暗号化されてない!!!!
バイナリエディタでそのまま文字列が読み込めるときは99%暗号化されてないので、あとはこのdefault.realmをiPhoneからPCにコピーして中身を閲覧すればいいわけです。
このコピーの手順は書くと長いので省略します。どうしても知りたい人はコメントなりでどうぞ。
Realm Studio

RealmはMac用のデータベースなのですが、ビューワがWindows向けにも公式リリースされていたのでダウンロードしてきます。

インストールして起動すると何やらメールアドレスの登録を促されますが、適当にしておいても特に何も変わりませんでした。
あとはコピーしたデータベースをぽいっと読み込ませると…

無事に読み込めた!!!
で、調べてみたところおそらくほぼすべての生データの情報が保存されていました!!
ということはdefalut.realmから生JSONを復元することが可能ということになります。
つまり、SalmonRecのデータをSalmonStatsが受け付ける形式に変換可能ということですね。
まとめ
SalmonRecのデータベースには(おそらく)すべての情報が保存されており、SalmonStats形式への変換は可能。
が、現状default.realmをiPhoneから抽出するのは手間がかかるし(大体Realmの扱い全然わからん)面倒でわざわざぼくが変換用のコードを書いても無駄になる可能性が高い。
せっかくSalmonRecの作者さんが出力する機能を実装してくれるのであればそちらを待ったほうが正解。
自身を天才と信じて疑わないマッドサイエンティスト。二つ上の姉は大英図書館特殊工作部勤務、額の十字架の疵は彼女につけられた。
コメント