Friday 14 July 2017

I see what you did there...

So why was I playing around with Apple binary plists the other day?

Well it comes back to the programmatic object and scene identification in - one of those pieces of technology that really makes you think you're living in the future. In macOS 10.12.5 (Sierra) Photos.App stored the various keywords it used to classify an object or scene at...

/System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Frameworks/PhotoVision.framework/Versions/A/Resources/en.lproj/scenetaxonomy.strings the form of a binary plist. In the interests in seeing what was going to come in macOS 10.13, I grabbed the equivalent file from the first High Sierra, converted it to an XML plist and diff'd the two files...

diff ./10.12/scenetaxonomy.strings ./10.13/scenetaxonomy.strings
<     <string>Bachelor's Button|Bachelor's Buttons|Bluebottle|Bluebottles|Cornflowers|Strawflower|Strawflowers</string>
>     <string>Bachelor’s Button|Bachelor’s Buttons|Bluebottle|Bluebottles|Cornflowers|Strawflower|Strawflowers</string>
<     <key>motorcross</key>
<     <string>Motorcross</string>
<     <key>motorcross-synonyms</key>
>     <key>motocross</key>
>     <string>Motocross</string>
>     <key>motocross-synonyms</key>

Unfortunately it seems that, other than a few corrections, there isn't much move coming - at least in the first High Sierra public beta. 

The other alternative is that the scenetaxonomy.strings is now a legacy file, shipped by accident, and that the list of keywords has moved elsewhere.