【问题标题】:How to automatically attach device information to new email with MFMailComposeViewController如何使用 MFMailComposeViewController 自动将设备信息附加到新电子邮件
【发布时间】:2019-01-25 08:54:31
【问题描述】:

如果您使用 TestFlight 发送 Beta 反馈,它会自动附加一个名为 device_information.txt 的文件,其中包含有关设备的一些基本信息。

我想在我的应用程序中创建一个支持按钮,我正在使用MFMailComposeViewController 创建一个新电子邮件。如何检索(或创建)device_information.txt 文件,然后将其附加到新电子邮件中?

这是device_information.txt 文件将包含的内容的示例:

App Information:
App Name: [App Name Here]
App Version: 1.0
Installed App Version: 1.0

Device Information:
Device: iPhone6,2
iOS Version: 12.1.2
Language: en-AU (English)
Carrier: [Carrier Here]
Timezone: [Timezone Here]
Architecture: N/A
Connection Status: Cellular data
Paired Apple Watch: N/A

TestFlight 是如何做到这一点的?这一定是可能的,所以如果有人能指导我朝着正确的方向前进,我将不胜感激。

【问题讨论】:

  • 您的问题到底是什么?将文件附加到邮件?检索其中一些数据?
  • device_information.txt 文件似乎是由 TestFlight 编译的。我想知道是否可以检索相同的文件,然后将其附加到新电子邮件中。或者检索一些数据并制作我自己的文本文件,然后将其附加到新电子邮件中。
  • 我会说你必须自己做文件。
  • 好的,你知道我将如何 1. 根据设备信息制作自定义文件。 2. 将其附加到新电子邮件中。
  • 我认为每一行(单独的)都有 StackOverflow 的问题,以及如何将文件附加到邮件。

标签: ios swift testflight mfmailcomposeviewcontroller mfmailcomposer


【解决方案1】:

您可以在 UIDevice 类中找到大部分此类信息 https://developer.apple.com/documentation/uikit/uidevice

您可以像这样将所需的信息附加到邮件文本中:

   MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
   controller.mailComposeDelegate = self;
   [controller setMessageBody:"your message here" isHTML:NO];

或使用这样的附件:

    [controller addAttachmentData:data mimeType:@"text/plain" fileName:@"test.txt"];

在斯威夫特中:

let controller = MFMailComposeViewController()
controller.mailComposeDelegate = self
controller.setMessageBody("My message", isHTML:false)
controller.addAttachmentData(data as Data, mimeType: "text/plain", fileName: "test.txt")

【讨论】:

  • 完美,正是我所需要的。您能否也为 Swift 提供addAttachmentData
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-29
  • 2011-05-07
  • 2020-01-14
  • 1970-01-01
相关资源
最近更新 更多