ios - 如何向 NSManagedObject 发送电子邮件

标签 ios swift email core-data nsmanagedobject

我想从我的 iPhone 应用程序中获取数据,并允许用户将其通过电子邮件发送给该应用程序的其他用户。我将应用程序数据存储为 CoreData 中的 NSManagedObjects 数组。获取这些存储的数据并将其转换为可以通过电子邮件发送和由我的应用程序导入的文件的最佳方法是什么?这是数据的 NSManagedObject 子类:

import Foundation
import CoreData

class People: NSManagedObject {

    @NSManaged var days: AnyObject
    @NSManaged var dayZero: Date
    @NSManaged var firstName: String
    @NSManaged var gender: String
    @NSManaged var lastName: String

}

获取这些存储的数据并将其转换为可以通过电子邮件发送并由我的应用导入的文件的最佳方法是什么?

最佳答案

您的问题非常广泛,因此这只是一个高层次的答案。

要通过电子邮件发送数据,您需要将数据作为电子邮件附件添加。由于您希望此附件可用于您的应用程序(可能仅适用于您的应用程序),因此您需要定义自己的自定义文件扩展名、UTI 和 mime 类型。

您需要将托管对象转换为可以附加到电子邮件的数据。有很多可能的方法可以做到这一点。最简单的是使用 NSKeyedArchiver

从托管对象获得数据后,请使用MFMailComposeViewController。使用自定义扩展名将数据添加为附件和正确的文件名。

您需要配置您的应用程序来处理您的自定义文件类型,以便当用户在其 iOS 设备上的邮件应用程序中选择附件并且安装您的应用程序时,您的应用程序将成为打开邮件附件的选项。

实现正确的UIApplicationDelegate方法来处理电子邮件附件的传递。从 URL 将其加载到 Data 对象中,并使用 NSKeyedUnarchiver 检索原始数据。

这个难题有许多单独的部分。每个问题都已在此处或通过 Google 的其他问题和解答中进行了更详细的介绍。

关于ios - 如何向 NSManagedObject 发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41247262/

相关文章:

ios - 快速在 View Controller 之间滑动

swift - Kitura TypeSafeHTTPBasic 身份验证在帖子正文中寻找凭据?

python - 使用 Python 从电子邮件中提取文本

ios - Soundcloud 下载超时

ios - 应用关闭后本地保存的视频不再播放

ios - UITableViewCell - 无法让 UIButton subview 在 iOS 9 中重叠(并可点击)下一个单元格

ios - Firebase Ios Swift 身份验证问题

email - 字形和文本之间的间距?

java - SubethaSmtp 工作示例

ios - CG图像创建 : invalid image alphaInfo