---
title: "addAttachmentData(_:typeIdentifier:filename:)"
framework: messageui
role: symbol
role_heading: Instance Method
path: "messageui/mfmessagecomposeviewcontroller/addattachmentdata(_:typeidentifier:filename:)"
---

# addAttachmentData(_:typeIdentifier:filename:)

Attaches arbitrary content to the message.

## Declaration

```swift
func addAttachmentData(_ attachmentData: Data, typeIdentifier uti: String, filename: String) -> Bool
```

## Parameters

- `attachmentData`: Content in the form of an doc://com.apple.documentation/documentation/Foundation/NSData object to attach to the message. Must not be nil.
- `uti`: A valid Uniform Type Identifier (UTI) appropriate for the attachment data. See https://developer.apple.com/library/archive/documentation/Miscellaneous/Reference/UTIRef/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009257. Must not be nil.
- `filename`: The name to present to the user, in the message UI, for the data attachment.

## Return Value

Return Value true if the attachment data was successfully added to the message, or false otherwise.

## Discussion

Discussion This method is especially useful when the attachment you want to add to a message does not have a file system representation. This can be the case, for example, for programmatically composed audiovisual content.

## See Also

### Managing attachments

- [disableUserAttachments()](messageui/mfmessagecomposeviewcontroller/disableuserattachments().md)
- [attachments](messageui/mfmessagecomposeviewcontroller/attachments.md)
- [addAttachmentURL(_:withAlternateFilename:)](messageui/mfmessagecomposeviewcontroller/addattachmenturl(_:withalternatefilename:).md)
- [MFMessageComposeViewControllerAttachmentURL](messageui/mfmessagecomposeviewcontrollerattachmenturl.md)
- [MFMessageComposeViewControllerAttachmentAlternateFilename](messageui/mfmessagecomposeviewcontrollerattachmentalternatefilename.md)
- [insertCollaborationItemProvider(_:)](messageui/mfmessagecomposeviewcontroller/insertcollaborationitemprovider(_:).md)
