Swift

Swift:写真のバックアップと上書きの仕様

メタ情報が修正されたときの写真のバックアップと上書きの仕様を決めました。

メタ情報が修正されたとき、自動的にオリジナルの写真を置き換えてしまうと事故がおきたときに問題になります。かと言って、無条件にコピーを作ってしまうと必ず同じ写真ができてしまい、これまた煩わしいです。そんなこんなでなかなか仕様を決めかねていたのですが、最終的に次のようにすることにしました。

メタ情報の修正と写真ファイルに関する仕様

  • メタ情報が修正された場合、写真を複製し、これに修正を反映します。
  • アプリが複製した写真は、.Mesa.JPGのような拡張子がつきます。
  • .Mesa.JPGはフォルダ単位にまとめて削除することが可能です。.Metaファイルの削除機能をボタンで追加します。
  • オリジナルの写真を直接置き換えることも可能です。この場合、.Mesaファイルは作成されません。これもボタンで指示できます。
  • .Metaファイルのメタ情報を修正した場合、さらに写真の複製をせず、既存の.Metaファイルに修正を反映します。
  • .Metaファルが既に存在し、オリジナルの写真のメタ情報を修正した場合、既存の.Metaファイルを上書きします。この場合、オリジナルの写真のメタ情報の修正内容が、既存の.Metaファイルに上書きされることになります。

表示上の制限事項

  • オリジナルの写真を置き換えない指示のとき(デフォルトのとき)、.Metaファイル作成後はサムネールを作り直すまで、オリジナルの写真の代わりに.Metaファイルが表示されます。
  • 再度、オリジナルの写真からメタ情報を修正したい場合、フォルダの再表示(サムネールを作り直す処理)が必要です。
    ➡️自動的にサムネールを再表示させる仕様にするかどうか要検討。
  • Photosライブラリがこの仕様で耐えられるかどうか?

Categories: Swift, 技術