<!--
{
  "availability" : [
    "iOS: 14.0.0 -",
    "iPadOS: 14.0.0 -",
    "macCatalyst: 14.0.0 -",
    "macOS: 11.0.0 -",
    "tvOS: 14.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 7.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UniformTypeIdentifiers",
  "identifier" : "/documentation/UniformTypeIdentifiers/UTType-swift.struct/init(exportedAs:conformingTo:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "Uniform Type Identifiers",
      "UniformTypeIdentifiers"
    ],
    "preciseIdentifier" : "s:22UniformTypeIdentifiers6UTTypeV10exportedAs12conformingToACSS_ACSgtcfc"
  },
  "title" : "init(exportedAs:conformingTo:)"
}
-->

# init(exportedAs:conformingTo:)

Creates a type your app owns based on an identifier and a supertype that it conforms to.

```
init(exportedAs identifier: String, conformingTo parentType: UTType? = nil)
```

## Parameters

`identifier`

The identifier of your type.

`parentType`

A type to extend for your own type.

## Discussion

Defining a type with this initializer asserts that you own the type definition. For example, you might define your file format in code to use it to save or open files in your app.

```swift
extension UTType {
    /// The type of my file format.
    public static let myFileFormat = UTType(exportedAs: "com.example.myfileformat")
}
```

---

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)