Copy link to clipboard
Copied
I've inherited a Photoshop plugin project, and I'm working on some minor updates while learning my way around. The plugin has both Windows and Mac native versions for CS5+, and I'm in good shape so far on Windows. One requirement is that we reliably report version numbers so our QA people can have a prayer of keeping things straight. On Windows we are just setting the normal Assembly Version attributes, which are then baked into the .dll, and this is reported in the System Info dialog in Photoshop like so:
Optional and third party plug-ins:
MyPlugin 1.2
What is the Mac equivalent? The plugin bundle has an Info.plist, and that plist has CFBundleVersion set, but System Info still reports it as:
Optional and third party plug-ins:
MyPlugin NO VERSION - from the file “MyPlugin.plugin”
I have a lot of experience developing for Windows, but Mac OS and the Adobe SDK is pretty new territory for me, so I'm sure I'm missing something obvious here...
Copy link to clipboard
Copied
Look for a plist file. Here is how the SDK does it: (inside of Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundleGetInfoString</key>
<string>CC 2015 (16.0.0.0) ©2015 Adobe Systems Incorporated</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PLUGIN_TYPE)</string>
<key>CFBundleSignature</key>
<string>8BIM</string>
</dict>
</plist>
Copy link to clipboard
Copied
Yes, as I said, I've got one in Contents. But it doesn't appear to have any effect on what's displayed in System Info, unless there are some extra values I'm missing?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>14F1021</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>MyPlugin</string>
<key>CFBundleIdentifier</key>
<string>com.mycompany.myplugin</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>8BFM</string>
<key>CFBundleSignature</key>
<string>8BIM</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>7B1005</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>15A278</string>
<key>DTSDKName</key>
<string>macosx10.11</string>
<key>DTXcode</key>
<string>0711</string>
<key>DTXcodeBuild</key>
<string>7B1005</string>
</dict>
</plist>
Copy link to clipboard
Copied
After digging some more, I guess I have an answer. The relevant plist keys are CFBundleGetInfoString, CFBundleShortVersionString, and NSHumanReadableCopyright. The "official" way of doing it is to put a version number in CFBundleShortVersionString, and a copyright statement in NSHumanReadableCopyright. CFBundleGetInfoString has been deprecated since 10.5, and is ignored by Finder if the newer keys are set. Photoshop, however, only reads the old deprecated CFBundleGetInfoString, and that is what will be displayed on the System Info dialog. So, I need something like this:
<key>CFBundleGetInfoString</key>
<string>[display string for Photoshop]</string>
<key>CFBundleShortVersionString</key>
<string>[display version for Finder]</string>
<key>NSHumanReadableCopyright</key>
<string>[display copyright for Finder]</string>
Find more inspiration, events, and resources on the new Adobe Community
Explore Now