4

フォト ライブラリから画像を複製したいのですが、この画像を既にインポートしているかどうかを後で確認したいと考えています。

このシナリオを想像してください。

  1. フォト ライブラリに写真があります。
  2. コピーを作成してアプリにインポートします。
  3. この写真をライブラリから削除します。
  4. 後で、この写真をフォト ライブラリに再挿入します (iPhoto からの同じ写真、以前はアルバムと同期していなかったのですが、現在は同期しています)。

2 つの写真を比較するために使用できる一意の識別子はありますか? URLはユニークですか?それとも、メタデータを調べて一致させる必要がありますか? もしそうなら、あなたは何を提案しますか?作成されたデータと場所? 日付を作成しましたか? サイズ?

アドバイスありがとうございます。

4

1 に答える 1

3

観察

私は同様の機能を使用してきたので、これが私が知っていることです:

  • フォト ライブラリに挿入された各写真には固有の URL があります (つまり、画像を挿入して削除し、もう一度挿入すると、同じ画像であっても新しい URL になります)。
  • 画像が前の画像の複製であるかどうかを知る簡単な方法はありません。
  • あなたがこれをしようとしているとは思いませんが、プログラムで iPhone フォト ライブラリから画像を削除することはできないことを警告します。

ソリューション

これを処理する方法は 1 つしかありません。写真のハッシュを作成し、そのハッシュをどこかに保存します。挿入された写真が以前とまったく同じ写真である場合、同じハッシュが得られるはずです。そのハッシュ比較を使用して、同じ写真を使用しているかどうかを判断できます。これは私が使用している方法であり、ほとんどの場合確実に機能するようです。いくつかの不一致に気付きましたが、これらは通常、ファイルを写真ライブラリに追加する前にファイルをハッシュする作業を伴います (保存された写真が保存されている写真と異なる場合があることに気付きました)。

この情報がお役に立てば幸いです。私が何かを見逃した場合、またはあなたの仕事で異なる結果に気付いた場合はお知らせください.

于 2012-08-24T15:30:58.313 に答える