[Mac 写真アプリ] 日時がファイル作成日時でインポートされてしまう (Exif の情報は正しい撮影日)

Mac の写真アプリに JPG ファイルを取り込むと、写真アプリ上の日時がファイル作成日時になってしまいます。Exif やファイルの変更日時としては正しい情報が記録されています。一般的に写真管理アプリは Exif から情報を読んでいると思うのですが、写真アプリはそうではないのでしょうか…。


作成日時ではなく、Exif の情報か、ファイルの変更日時 (いずれも同じで、正しい撮影日時を示すもの) で認識させたいのですが、解決策はありますでしょうか。


取り込み手順

  • Pixel 3XL (Android) から Mac への転送
  • Android FIle Transfer を使用し、一旦ローカルフォルダにコピー、そのフォルダを指定して写真アプリにインポート


写真ファイルの情報

ファイルをローカルにコピーした日時 (写真アプリに表示されているもの)

  • ファイルの作成日時


以下の日時はすべて正しいもの (撮影日時)

  • ファイルの編集日時
  • Exif のオリジナルの日時
  • Exif のデジタル化日時


*Photos (写真) アプリについてのトピックが見つからなかったので、iPhoto.app の方に投稿させていただいております。


よろしくお願いいたします。

MacBook Pro 13", 10.14

投稿日 2019/02/01 15:37

返信
返信: 28

2019/02/02 21:13 RT51 への返信

ひょっとしてだけど、写真アプリの「読み込み日」と勘違いしている可能性はないですかね。


例えば

作成日:2019年2月3日

変更日:2019年2月3日

Exifの撮影日:2019年1月5日

の写真を2月3日に写真アプリに読み込んだとします。


写真アプリの「読み込み」では当該写真は2月3日のところに表示されます。

写真アプリの「写真」では当該写真は1月5日のところに表示されます。

2019/02/05 17:02 ni_ki への返信

> Exifから撮影日を取り出しファイル作成日を編集するツールとしてはA Better Finder Attributes 6(有料)などがあります。

ご紹介ありがとうございます。まさに求めていたツール、という感じです。

今回はコマンドラインから解決できそうならしてみたいと思っているのですが、どうしても難しいようであれば購入を検討してみます。


> ところでそれ以前の問題なのですが、写真アプリは正しくExifを認識してくれるのが本来の仕様です。

>(写真閲覧アプリであり、ライブラリ内の編集をユーザが簡単にはできないような仕様ですので当たり前ですよね。)

> なので写真アプリがExifを認識できていない今の状況は何らかの不具合を抱えていることになります。

> もし可能であれば、問題となっている写真のうち、個人情報に触れないものをどこかにアップしてもらえませんか?


ですよね。私も Exif から読み込むと思っていた (し写真管理アプリとしてそうあるべき) ので不思議です。@ni_ki さんも再現くださったようですし… (ありがとうございます)。


ご共有できればと思い、さきほど位置情報など切った状態で写真を撮影、インポートしてみました。

冒頭と同じ手順で手元にあった別の Mac (便宜上 Mac2 とします) にインポートしたのですが、なんと正しい撮影日でインポートされていました。そこで Pixel に入っている画像を、同様の手順で Mac2 の写真アプリにインポートしたところ、全て正しい撮影日でインポートされました。


ちなみにMac2 ともともとの Mac (Mac1) は、OS / 写真アプリともバージョンは同じはずです。ただ、Mac2 では普段写真アプリを使っていないので、全く新しいライブラリにインポートしたことになります。

今は手元に Mac1 がないのですが、再度ファイルをコピーし直してインポートしようかななどと考えております…。


一方で @ni_ke さんは問題の再現ができたようですし、原因がわからないですね…。

2019/02/07 23:18 ni_ki への返信

みなさま

本件、結局新規ユーザーを作成することで写真アプリ側で正しく Exif を読めるようになりました。明確な原因がわからないので再発が怖いところではありますが…。

また実際のコマンドをご提供くださった方、ありがとうございます。今回直接解決には使用しませんでしたが、Unix コマンドを勉強しようと思っていたところでしたので助かりました。


(ユーザーアカウント移行にはまた別の問題が発生しているのですが…)

エラーが発生してユーザーアカウントを削除できない (An error occurred while backing up this user's home folder.)

https://discussionsjapan.apple.com/thread/250148643?answerId=250273963122&page=1

2019/02/08 08:15 やすどん への返信

新規ユーザーですと正しく認識されるようです。

インポート画面 (まだインポートしていない) での詳細情報のスクショなのですが、image 1 にある通り、他の Exif 情報は読み取れているのですが、日付だけ読み取れていないようです。なので、"作成日が写真の日時になる" というよりは、"Exif の日付情報が読み取れないので、写真の日時をファイル作成日時にしている" というのが、今回の問題の実態のように見えます。


しかし別ユーザーで解決するとなると、インストールしているなんらかのソフトなどが影響していたりするのでしょうかね…。

あまりローカルにはソフトを入れていないのですが、Google のバックアップと同期、Play Music Manager、いくつかのエディタ、確定申告関連 (eTax) 用ソフトくらいですかね…。


  • image 1 (not working)


  • image 2 (working)


* 一部編集いたしました。 Apple Inc.

2019/02/05 16:38 RT51 への返信

 特定の環境だけの問題のようですね。

まず疑うのは写真ライブラリの破損でしょうか。

症状の出るMacで新規に写真ライブラリを作成し、そちらで動作確認してみてください。


Exifをきちんと読み取るのが写真アプリの正しい仕様だと思います。

なんらかのトラブルを抱えたままファイル作成日を変更することでその場しのぎをしても、あとあと別の問題が浮上するかもしれませんね。

2019/02/05 21:41 RT51 への返信

大事な事を失念してました。 SetFileコマンドは、別途インストールする必要がありますね。 Xcodeをインストールしてもいいのですが、デベロッパーサイトからコマンドラインツールとしてコマンドのみインストール可能なはずです。


情報としては古いですが、http://d.hatena.ne.jp/zariganitosh/20101210/falsify_file_infoなども目を通してみてください。


写真ライブラリに問題があるのがほぼ確定のようなので、ライブラリの修復も試してみても良いかもしれませんね。 shift を押しながら写真.Appを起動すれば、修復が開始されるはずです。


イメージキャプチャでは、Androidはデジカメとして認識してくれないのですね。 少々残念。

多分、今後も読み込んだ画像ファイルの作成日は、読み込み日になる(転送アプリの仕様)と思われますので、作成日が関係していない以上、特定のファイルのみファイル情報を書き換えるのは、一貫性が保てなくまります。

これを気にしないのであればどうでも良い事ではありますが、onesize、ここが非常に大事なことなので………

2019/02/04 18:56 RT51 への返信

Exif tool というコマンドラインツールをインストールして試したのですが、(恐らく) ファイル作成日時を変更するという操作ができないようです (Exif 要素以外に writing permission がない)。

sudoつけてもダメですかね。

データ作成日が撮影日にしたい - Apple コミュニティ

2019/02/06 03:53 RT51 への返信

データファイルのみコピーし、その他はゼロからセットアップしてしまうのが、問題の再発リスクが低いのかなと。

これが今できるもっとも簡単なトラブルシューティングかもしれません。

Mac上の別ユーザアカウントに写真アプリのライブラリをコピーして(アクセス権に注意)、動作確認してみてください。

問題なければユーザアカウントを引っ越すのが確実だと思います。

2019/02/05 16:51 RT51 への返信

@arageo @onesize @ni_ki, (以下ユーザー名から敬称を省かせていただいております)


こちらは写真アプリと言うより unix コマンドの内容になってしまい、ご回答いただくのが適切か判じかねるのですが、もしよろしければお教えください。


[行おうとしている処理]

  1. ファイル編集日時を取得 (date -r ファイル名)
  2. 変数に格納しておいて
  3. 作成日時をセット (touch -cm -t日時 ファイル名)


[コマンド]

ymd=`date -r image.jpg`

touch -cm -t$ymd image.jpg


[エラー]

"touch: out of range or illegal time specification: [[CC]YY]MMDDhhmm[.SS]"


date -r image.jpg で取得できる日時のフォーマットは Wed Feb  6 07:02:58 JST 2019 なので、このままだとうまくいかないようです。

そこで

date +%Y%m%d%H%M -r image.txt

を試したのですが、illegal time format になってしまいました。date +%Y%m%d%H%M だけであれば動くので、ファイル名を指定して編集日時を抜こうとしているのがいけないんだろうと思うのですが…。


また、実際のフォルダは階層構造になっており、その配下すべての画像ファイルに処理を適用しようと考えた際、うまく繰り返し処理を書くことができませんでした。

@ni_ki さんなどは、Exif tool から取得なさったようですし、できるとは思うのですが、上記の通りスタックしてしまいました…。もし実際に動くコマンドをご共有いただける方がいらっしゃれば大変ありがたいです。


@onesize

> Androidって、イメージキャプチャでも読みこみできないんですかね? それで、読み込めるとファイル作成日の問題は解決するかも。

Android の USB 転送プロトコルをいくつか変えて (PTP など) 試しましたが、Android File Transfer 経由以外では読み込めないようです。

2019/02/05 17:08 RT51 への返信

> また、実際のフォルダは階層構造になっており、その配下すべての画像ファイルに処理を適用しようと考えた際、うまく繰り返し処理を書くことができませんでした。


こちら補足です。


ymd=`date +%Y%m%d%H%M` ; touch -cm -t$ymd *.jpg

で、直下にあるファイルには一括で現在時刻を適用できましたが、階層になったフォルダ内のファイルには処理を適用できませんでした。


touch には再帰オプションがないようなのでこちらも試してみましたが、上記と同様でした。

ymd=`date +%Y%m%d%H%M` ; find ./test | xargs touch -cm -t$ymd *.jpg

2019/02/05 22:47 RT51 への返信

コマンドラインを使用する方法について、具体的にご共有ありがとうございます。まだ試せておらず、追って確認して再度返信させてください。


取り急ぎ進捗のご共有なのですが、問題が発生していた Mac のほうでは、以下いずれを行っても問題が解決しませんでした。

  • ライブラリの修復
  • 新規ライブラリを作成してそちらにインポートしてみる


ちなみに動画の方は正しい日付でインポートされますが、写真の方はファイル作成日になってしまいますね…。マシン依存なのか、また解決策はなにかなんともわからないところです。

できればファイルの日付変更ではなく、(写真アプリが Exif を読んでいる前提で) 正しい挙動にアプリ側を直せるのが望ましいとは思っているのですが…。

2019/02/06 06:30 ni_ki への返信

写真ライブラリには異常がなく、ホームライブラリの異常が疑われるということは、復元機能等は使わず、単に写真ライブラリをコピーして新しいユーザーで写真ライブラリとして参照するファイルとして指定するだけであれば、本問題までコピーされることはない、という想定で正しいでしょうか?


というのもほとんどクラウド環境で使用しているため、ローカルにあるデータは写真と iTunes のみ、ソフトは 10 少々しかない状態です。であればデータファイルのみコピーし、その他はゼロからセットアップしてしまうのが、問題の再発リスクが低いのかなと。


このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

[Mac 写真アプリ] 日時がファイル作成日時でインポートされてしまう (Exif の情報は正しい撮影日)

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。