<!--
{
  "availability" : [
    "iOS: 10.0.0 -",
    "iPadOS: 10.0.0 -",
    "macCatalyst: 13.0.0 -",
    "macOS: 10.12.0 -",
    "tvOS: 10.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 3.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "dnssd",
  "identifier" : "/documentation/dnssd/kDNSServiceProperty_DaemonVersion",
  "metadataVersion" : "0.1.0",
  "role" : "Global Variable",
  "symbol" : {
    "kind" : "Global Variable",
    "modules" : [
      "dnssd"
    ],
    "preciseIdentifier" : "c:@macro@kDNSServiceProperty_DaemonVersion"
  },
  "title" : "kDNSServiceProperty_DaemonVersion"
}
-->

# kDNSServiceProperty_DaemonVersion

The daemon version property.

```
var kDNSServiceProperty_DaemonVersion: String { get }
```

## Discussion

When requesting [`kDNSServiceProperty_DaemonVersion`](/documentation/dnssd/kDNSServiceProperty_DaemonVersion), the result pointer must point to a 32-bit unsigned integer, and the size parameter must be set to sizeof(uint32_t).

On return, the 32-bit unsigned integer contains the version number, formatted as follows:

Major part of the build number * 10000 +

minor part of the build number * 100

For example, OS X 10.4.9 has mDNSResponder-108.4, which would be represented as version 1080400. This allows applications to do simple greater-than and less-than comparisons: e.g. an application that requires at least mDNSResponder-108.4 can check:

```objc
 
   if (version >= 1080400) ...
 
```

Example usage:

```objc
 
 
 uint32_t version;
 uint32_t size = sizeof(version);
 DNSServiceErrorType err = DNSServiceGetProperty(kDNSServiceProperty_DaemonVersion, &version, &size);
 if (!err) printf("Bonjour version is %d.%d\n", version / 10000, version / 100 % 100);
 
 
```

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)