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 throwsParameters
- 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.