func encode(_ message: MEMessage, composeContext: MEComposeContext, completionHandler: @escaping (MEMessageEncodingResult) -> Void) { // The result of the encoding operation. This object contains // the encoded message or an error to indicate what failed. guard let rawData = message.rawData else { completionHandler(MEMessageEncodingResult(encodedMessage: nil, signingError: nil, encryptionError: MEMessageSecurityError(_nsError: NSError( domain: MEMessageSecurityErrorDomain, code: MEMessageSecurityError.encodingError.rawValue, userInfo:[NSLocalizedDescriptionKey:"No Data found.."])))) return } if message.subject == "Show Alert", let isSendHit = ComposeSessionManager.shared.composeSessionsData[composeContext.contextID.uuidString]?.isSendButtonHit, isSendHit == true { completionHandler(MEMessageEncodingResult(encodedMessage: nil, signingError: nil, encryptionError: MEMessageSecurityError(_nsError: NSError( domain: MEMessageSecurityErrorDomain, code: MEMessageSecurityError.encodingError.rawValue, userInfo:[NSLocalizedDescriptionKey:"Alert: Change Subject Line!!!"])))) return } completionHandler(MEMessageEncodingResult(encodedMessage: MEEncodedOutgoingMessage(rawData: rawData, isSigned: false, isEncrypted: false), signingError: nil, encryptionError: nil)) }