kkAyatakaのメモ帳。

誰かの役に立つかもしれない備忘録。

iOS シミュレータに画像を登録

シミュレータ上に画像をD&DしてSafari経由で保存といったのは簡単に見つかるのだけれど、複数の画像を一気に送る方法があまりに少ないので、自分も書いておく。

  1. 「~/Library/Application Support/iPhone Simulator/4.3.2/Media/PhotoData」の削除
  2. 「~/Library/Application Support/iPhone Simulator/4.3.2/Media/DCIM/100APPLE」に画像を配置
  3. iOSシミュレータを起動して「写真」アプリを起動する

ホーム以下であることに注意(<-/Library以下を速攻探した人)。公式ドキュメントではフォルダ名がiOS〜となっていたり、そもそもバージョンが入っているので、SDKのバージョンによっては違うかもしらん。

既存DBの削除

まずは既存のデータベースの削除を行う。単にフォルダに写真データだけおいても過去のデータで動いてしまい、新しく認識してくれなかった。

画像の配置

決まったフォルダに写真ファイルを配置する。「100APPLE」はSafari経由などで画像を保存した場合の標準のフォルダ。ここに置いた写真は「Saved Photos」アルバムに保存される。

写真ファイルの名前は何でも良さそう。画像ファイルをそのまま配置すれば認識した。デジカメの保存方法と同じなので、たぶん1フォルダ1万枚までだと思う。1万枚を超える場合は「101APPLE」とかにすればいい。ためしに50枚のフォルダを2つ作ってみたところ、iOSのアルバム上では1つに統合されて表示された。

写真アプリの起動

写真ファイルの配置後、 シミュレータ上で一旦標準の写真アプリを起動する。ここで、写真ファイルからデータベースが構築される。ALAssetsLibraryで列挙できるデータはここで構築されるデーターベースが元になっているので、データーベースを構築していないと写真を認識できない。