"Date/Time Original" missing from iPhone screenshot jpegs after update iOS 16.5

Started by KenBotwinick, June 02, 2023, 12:01:00 PM

Previous topic - Next topic

KenBotwinick

I have a tool that does "exiftool -DateTimeOriginal -b" on iPhone screenshots that I've saved to an iCloud folder. My tool stopped working today and I realized it's because the returned value is null. I also realized that what changed was that I updated to iOS 16.5 yesterday or the day before.

So I left off any arguments and sure enough the Date/Time Original is not listed at all. I then updated to the latest exiftool of 12.62 and the issue persisted. I went back and tested old screenshots that had already been successfully processed, and they do continue to show the Date/Time Original.

Example screenshot and full output provided. Hopefully this isn't an unsolvable Apple bug.

Thanks.     

1) Your system type: Mac 12.6.1, iOS 16.5
2) The ExifTool version you are using: 12.62
3) The specific command line you are using:

exiftool /Users/ken/Library/Mobile\ Documents/com~apple~CloudDocs/IMG_8184.JPG

4) The console output from the command:

QuoteExifTool Version Number         : 12.62
File Name                       : IMG_8184.JPG
Directory                       : /Users/ken/Library/Mobile Documents/com~apple~CloudDocs
File Size                       : 558 kB
File Modification Date/Time     : 2023:06:02 10:47:53-04:00
File Access Date/Time           : 2023:06:02 10:48:01-04:00
File Inode Change Date/Time     : 2023:06:02 10:48:00-04:00
File Permissions                : -rw-r--r--
File Type                       : JPEG
File Type Extension             : jpg
MIME Type                       : image/jpeg
JFIF Version                    : 1.01
Exif Byte Order                 : Big-endian (Motorola, MM)
Image Description               : --
Orientation                     : Horizontal (normal)
X Resolution                    : 72
Y Resolution                    : 72
Resolution Unit                 : inches
Exif Version                    : 0221
Components Configuration        : Y, Cb, Cr, -
Flashpix Version                : 0100
Color Space                     : Uncalibrated
Exif Image Width                : 1125
Exif Image Height               : 5113
Scene Capture Type              : Standard
Current IPTC Digest             : bb55bead79d345ee7097f68ed1be7e6a
Coded Character Set             : UTF8
Application Record Version      : 2
Caption-Abstract                : --
IPTC Digest                     : bb55bead79d345ee7097f68ed1be7e6a
Profile CMM Type                : Apple Computer Inc.
Profile Version                 : 4.0.0
Profile Class                   : Display Device Profile
Color Space Data                : RGB
Profile Connection Space        : XYZ
Profile Date Time               : 2022:01:01 00:00:00
Profile File Signature          : acsp
Primary Platform                : Apple Computer Inc.
CMM Flags                       : Not Embedded, Independent
Device Manufacturer             : Apple Computer Inc.
Device Model                    :
Device Attributes               : Reflective, Glossy, Positive, Color
Rendering Intent                : Perceptual
Connection Space Illuminant     : 0.9642 1 0.82491
Profile Creator                 : Apple Computer Inc.
Profile ID                      : ecfda38e388547c36db4bd4f7ada182f
Profile Description             : Display P3
Profile Copyright               : Copyright Apple Inc., 2022
Media White Point               : 0.96419 1 0.82489
Red Matrix Column               : 0.51512 0.2412 -0.00105
Green Matrix Column             : 0.29198 0.69225 0.04189
Blue Matrix Column              : 0.1571 0.06657 0.78407
Red Tone Reproduction Curve     : (Binary data 32 bytes, use -b option to extract)
Chromatic Adaptation            : 1.04788 0.02292 -0.0502 0.02959 0.99048 -0.01706 -0.00923 0.01508 0.75168
Blue Tone Reproduction Curve    : (Binary data 32 bytes, use -b option to extract)
Green Tone Reproduction Curve   : (Binary data 32 bytes, use -b option to extract)
Image Width                     : 1125
Image Height                    : 5113
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:2:0 (2 2)
Image Size                      : 1125x5113
Megapixels                      : 5.8

IMG_8184.JPG

greybeard

I don't have a device with an older version of iOS to test but "Date/Time Original" doesn't exist on snapshots taken on iPhone, iPad or Mac with up to date operating systems. Exiftool is just showing you what is there (or not there).

KenBotwinick

Thanks. It definitely seems like it should be considered an Apple bug. I was definitely using 16.x. Maybe 16.3 or 16.4 and it worked fine. I don't see why someone would remove the date/time original of a screenshot on purpose in a .x release. Sigh. Guess I'll look for where to file Apple bugs.

KenBotwinick

Easy workaround: Adjust the date and time of the photo on the phone. Hitting adjust and then ok, doesn't seem to be enough. Must actually make a change like changing by one minute. Then Date/Time Original is embedded like always.

Martin B.

I have a similar problem with a few (old) AVI files: exiftool -DateTimeOriginal -b and $exifTool->GetValue('DateTimeOriginal') return 20 NULLs. On other AVI files, they return a date and on some others they return nothing.

My guess is; if the DateTimeOriginal tag is present in the file, exiftool will print/return the contents of the corresponding field, even if the contents is 20 NULLs. If the DateTimeOriginal tag isn't in the file, exiftool will print nothing (not even the tag name) or return (the equivalent of) an empty string.

In my case, I have to distinguish between "20 NULLs" and "nothing at all". I don't now if your application needs to make the same distinction.

StarGeek

Metadata in AVI files was always spotty at best.  Very few programs that dealt with AVIs would have the option to include any metadata.

But yes, exiftool will return the data that's in the tag.  If that is 20 nulls, then I'm guessing that on the command line you are seeing 20 dots?  As exiftool will return a dot for non-printable characters.  If the tag doesn't exist, then exiftool will not print out the tag name.

Try using
-if "$DateTimeOriginal=~/\x00{20}/"
to match 20 nulls. This is for Windows CMD, if you're on Mac/Linux, change the double quotes into single quotes.
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).

Martin B.

I wouldn't worry too much about it; my post was more to share what I learned than to ask for help. I'm using Image::Exiftool from Perl, so I can deal with all kinds of situations, as long as I know what can be expected.

I didn't see dots on the Windows CMD, but I confirmed the 20 NULLs by redirecting exiftool -DateTimeOriginal -b to a file and looking at that with emacs.

StarGeek

Quote from: gamin on September 29, 2023, 07:46:10 PMI didn't see dots on the Windows CMD

I forgot to remove that part.  It took me a stupid long time to try and duplicate 20 nulls and eventually went in with a hex editor.  Once I did that, I could see the command line output was blank, but was able to test the above -if option.
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).