Xamarin EmailAttachment 不在 iOS 上添加附件
Posted
技术标签:
【中文标题】Xamarin EmailAttachment 不在 iOS 上添加附件【英文标题】:Xamarin EmailAttachment does not add attachment on iOS 【发布时间】:2021-10-02 15:00:44 【问题描述】:我正在使用here 找到的股票代码向电子邮件添加附件。它在android中运行良好。当我在 ios 上运行它时,一切正常,除了消息上没有附件。邮件客户端启动,我看到地址、主题和消息都已填写,但没有附件。是否有某个设置可以在 iOS 上运行?
var message = new EmailMessage
Subject = "Log Files",
To = new List<string>(new[] "developer@test.com" ),
Body = builder.ToString()
;
var fn = "Attachment.txt";
var file = Path.Combine(FileSystem.CacheDirectory, fn);
File.WriteAllText(file, "Hello World");
message.Attachments.Add(new EmailAttachment(file));
await Email.ComposeAsync(message);
我已经在 Info.plist 中有以下内容:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>mailto</string>
</array>
奇怪的是,我可以看到消息对象上有一个附件。是否有一个调试设置,我可以在其中看到更多关于为什么没有在 iOS 中添加附件的诊断信息?
【问题讨论】:
尝试查看 iOS 控制台日志输出以查看操作系统是否拒绝附件 @SushiHangover 我没有看到任何错误,也没有收到任何无效文件异常错误。 每个电子邮件客户端都不同,可能只支持特定的文件扩展名,或者根本不支持。您可以尝试使用其他电子邮件客户端。 @AdrainZhu-MSFT 这是针对 Gmail 和 Outlook 进行的测试。也不弹出附件。在Android上他们这样做。它与这是一个开发版本还是一个生产版本有关吗?我只是将示例代码复制到一个全新的项目中并运行它,同样的事情,没有附件。 【参考方案1】:对我来说一切正常,电子邮件按预期发送,带有附件。
我正在使用Outlook
进行测试。
如果可能的话,您能否附上一个可以在此处重现该问题的基本项目?
【讨论】:
我会将您的答案标记为正确,但我会跟进我的特殊情况,以防其他人遇到这种情况。【参考方案2】:事实上,该代码在我刚刚安装了 Mail 应用程序的 iPad 上运行。我的特殊情况是没有安装邮件应用程序的 iPhone 11,只安装了 GMail 应用程序。调用此应用程序会无缘无故地直接删除附件。当我完全卸载 Gmail 应用程序,安装邮件应用程序并在该应用程序内从 Gmail 中弹出邮件时,一切正常。太糟糕了,没有一个回调来说明客户端是否附加了文档。
【讨论】:
以上是关于Xamarin EmailAttachment 不在 iOS 上添加附件的主要内容,如果未能解决你的问题,请参考以下文章
TeamCity 上的 Xamarin 表单:Xamarin.Forms 任务与目标不匹配
Xamarin Forms 2.3.3.175 和 Xamarin.Firebase.Messaging 不可能?