---
title: "init(source:version:productType:operatingSystemVersion:)"
framework: healthkit
role: symbol
role_heading: Initializer
path: "healthkit/hksourcerevision/init(source:version:producttype:operatingsystemversion:)"
---

# init(source:version:productType:operatingSystemVersion:)

Initializes a new source revision object with the provided source, version, product type, and operating system.

## Declaration

```swift
init(source: HKSource, version: String?, productType: String?, operatingSystemVersion: OperatingSystemVersion)
```

## Parameters

- `source`: The source for a sample.
- `version`: A string that uniquely identifies the source’s version.
- `productType`: A string that identifies the device used to save the sample.
- `operatingSystemVersion`: A string that identifies the operating system used to save the sample.

## Return Value

Return Value A newly initialized source revision object.

## Discussion

Discussion Use this method to create source revisions for use in queries. For more information, see HKPredicateKeyPathSourceRevision.

## See Also

### Related Documentation

- [HKSourceRevisionAnyVersion](healthkit/hksourcerevisionanyversion.md)
- [HKSourceRevisionAnyProductType](healthkit/hksourcerevisionanyproducttype.md)
- [HKSourceRevisionAnyOperatingSystem](healthkit/hksourcerevisionanyoperatingsystem.md)

### Creating Source Revision Objects

- [init(source:version:)](healthkit/hksourcerevision/init(source:version:).md)
