I believe I figured out how this was made to work in those apps. I observed the same behavior in my own app where func activityViewController(_ activityViewController: UIActivityViewController, subjectForActivityType activityType: UIActivityType?) -> String
is not being called when choosing the Outlook app. However, I noted the CNN app, as an example, was properly creating a subject line.
The answer it seems is to make the first line of the body text be what you wish the subject to be. I had an asset I was attaching with a URL and so the subject was inserting the URL which I didn't want. However, when I made the subject I did want, the first line of the body in the email, it did then populate the email's subject in Outlook correctly.
So this isn't ideal and certainly the appropriate protocol function should be called, but this does appear to be how others have gotten around what we otherwise cannot fix for Apple or Microsoft.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…