对于您的问题,简短的回答是否定的 - 无法将文件附加到 iOS 日历事件。
为什么?因为没有地方放文件。看着EKEvent 类参考 https://developer.apple.com/library/ios/documentation/EventKit/Reference/EKEventClassRef/Reference/Reference.html#//apple_ref/occ/cl/EKEvent显示一个简短的属性列表,其中没有一个能够实现我们向事件添加文件的目标。
如果我们升到超级班EK日历项目 https://developer.apple.com/library/ios/documentation/EventKit/Reference/EKCalendarItemClassRef/Reference/Reference.html#//apple_ref/occ/cl/EKCalendarItem也没有地方放文件。
然而,你到底想做什么?
如果您想在一台设备上附加文件(例如猫的照片),然后将该照片与事件同步到另一台设备,那么您就不走运了。该文档显示没有任何地方可以将二进制 blob 附加到日历事件。
然而也有一些other如果你能做到的话,你可能想尝试的技巧look就像附加的文件一样:
EKCalendarItem
has a notes
存储一个属性NSString
。您可以尝试一些黑客行为,例如将文件作为字符串格式的二进制数据放在那里,但我不会,因为这很愚蠢,并且可能会以各种方式破坏。不过,如果您只是尝试存储纯文本,那可能会很有效。
如果您想使用 URL 链接到该文件,您可以将 URL 放在notes
正如另一条评论所建议的属性,但我建议您使用不同的属性 -the URL财产。 https://developer.apple.com/library/ios/documentation/EventKit/Reference/EKCalendarItemClassRef/Reference/Reference.html#//apple_ref/occ/instp/EKCalendarItem/URL
至于如何给人留下日历事件附加文件的印象(实际上无法做到),我建议您研究一下良好的 URL 方案可以提供的魔力。我不确定您正在寻找什么功能,但 URL 方案是苹果批准 https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/AdvancedAppTricks/AdvancedAppTricks.html#//apple_ref/doc/uid/TP40007072-CH7-SW18通过单击日历事件附加的 URL 来告诉您的软件显示“文件”(嗯,应用程序中的视图可能是文件)。您仍然需要注意将文件传输到设备上,但这应该会让您更接近您想要的。祝你好运!