Search code examples
cocoamacosbonjouriphotonsnetservice

NSNetService Bonjour Mimicking iPhoto


I am trying to mimic iPhoto sharing and have gotten as far as publishing the service using the iPhoto service name "_dpap._tcp.". iPhoto sees my bogus "share", but it is grayed out. I'm watching network traffic to see if iPhoto is looking for something else to enable it (to make it non-gray), but there doesn't seem to be anything which leads me to believe it's really a bonjour setting--something I'm missing when I publish my service.

alt text

Any ideas of what iPhoto might be looking for/needing to enable that? Do you think it's a bonjour setting or just something specific to iPhoto?


Solution

  • There is more to the service than just the service name. Bonjour services have TXT records associated with them, which are blobs of data that are commonly interpreted as a series of key/value pairs. When looking at a _dpap._tcp. share on my local network, I've noticed the following pairs:

    txtvers=1
    Version=65537
    iPSh Version=131072
    Machine ID=[a 12-digit hex string]
    Machine Name=[name of share]
    Password=false
    

    I suspect the Machine ID is the MAC address, but I'm not certain.