Contents

insertAttachment(_:withAlternateFilename:completionHandler:)

Inserts an attachment into the current context.

Declaration

func insertAttachment(_ URL: URL, withAlternateFilename filename: String?, completionHandler: (@Sendable ((any Error)?) -> Void)? = nil)
func insertAttachment(_ URL: URL, withAlternateFilename filename: String?) async throws

Parameters

  • URL:

    A URL for the media file to be inserted. This URL must refer to a file saved on the device.

  • filename:

    An alternate name for the file. Use an alternate filename to better describe the attachment or to make the name more readable. If you pass a string, the Messages app uses the string as the attachment’s filename. If you pass nil, it parses the filename from the URL.

  • completionHandler:

    A block that is called as soon as the insertion is complete. This block is passed the following parameter:

    error

    An error object. If an error occurred, this object contains information about the error; otherwise, it is set to nil.

Mentioned in

Discussion

Use this method to insert a media attachment into the current context. For the MSMessagesAppPresentationContext.messages context, this method inserts the attachment into the Message app’s input field. Users can then send the media file by tapping Send.

For the MSMessagesAppPresentationContext.media context, the method only supports images. It places the image in the Messages camera or FaceTime. If the attachment is not an image type supported by MSSticker, the method fails with an MSMessageErrorCode.apiUnavailableInPresentationContext error.

This method operates asynchronously. Although the method returns immediately, the actual work is deferred and performed in the background. As soon as the attachment is inserted, the system calls the completion block on a background queue.

See Also

Inserting Content into the Input Field