我想从我的 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/