Add custom network device icons in Mac OS X Finder?
Solution 1:
Seems that I was very close, I just wasn't getting my machine to advertise itself properly.
I finally got it to work:
The method I used is below:
First, on the Mac, I created a custom bundle which I called "ComputerTypes" by copying and pasting an existing bundle such as MobileDevices.bundle or MachineTypes.bundle in the
/System/Library/CoreServices/CoreTypes.bundle/Contents/Library
folder.I then opened
Contents/Info.plist
with XCode Plist Editor and edited all the details to create a custom bundle, changing the Bundle Identifier, Name, etc.I removed all the existing entries in the "UTExportedTypeDeclarations" key then created a new entry per device. Each device entry has a "UTTypeConformsTo", "UTTypeDescription", "UTTypeIconFile", "UTTypeIdentifier" and "UTTagSpecification", where the "UTTagSpecification" dictorinary contains an Array in the key "com.apple.device-model-code" with all of the mDNS _device-info._tcp identifiers to accept. UTTypeIconFile refers to a icns file in the Resources folder.
I then saved the bundle to
/System/Library/CoreServices/CoreTypes.bundle/Contents/Library
folder and rebooted.On the other machine, I needed to set up to advertise a _smb._tcp service as well as the _device-info._tcp TXT record, as usual except using a custom model name rather than a Mac product name.
After rebooting the Mac, it should appear like the picture above.
I uploaded the finished bundle to http://dl.dropbox.com/u/4140005/ComputerTypes.bundle.zip as an example.
Solution 2:
This is probably only worthy of being a comment to Adam's answer, but I need formatting.
In Windows, assuming iTunes or Bonjour for Windows is installed, you can advertise a samba share with the following:
- Open two cmd prompts.
-
Run the following commands (in different consoles):
dns-sd -R ComputerName _device-info._tcp local 445 model=Xserve3,1
dns-sd -R ComputerName _smb._tcp local 445
Dns-sd won't exit, and if you Ctrl-C or close cmd, the share will disappear from Finder. I can only manage to use the default OSX icons, despite Adam's helpful sample file (it might be a 10.6 vs. 10.8 issue... there are plist differences between his and 10.8's). Also, I'm having a heck of a time figuring out how to get windows to run this command and shut it down at poweron/poweroff and wake/sleep (though, to shut down dns-sd from a bat script you'd just use taskkill).