Ios iPhone事件工具包:以编程方式订阅新日历

Ios iPhone事件工具包:以编程方式订阅新日历,ios,eventkit,ekeventkit,Ios,Eventkit,Ekeventkit,我被引导到,这告诉我们如何创建一个离线日历(我想),但是我如何在一个正在以ics格式输出日历的服务器上订阅URL呢?这可能吗?为什么不使用此选项: 总结公认的答案: NSString *url = @"http://server/filename.ics"; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]]; 编辑:在我自己的应用程序中使用它,并验证它是否有效 由MitchR编辑: 对于在服务器上生成自己

我被引导到,这告诉我们如何创建一个离线日历(我想),但是我如何在一个正在以ics格式输出日历的服务器上订阅URL呢?这可能吗?

为什么不使用此选项:

总结公认的答案:

NSString *url = @"http://server/filename.ics";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
编辑:在我自己的应用程序中使用它,并验证它是否有效

由MitchR编辑: 对于在服务器上生成自己的ics提要的用户,url必须 以.ics结尾以接收订阅提示。的MIME类型 响应也必须是文本/日历。我的服务器是.NET/MVC服务器,所以 我添加了一条自定义路线,这样我就可以在路线的末尾使用.ics 控制器动作


是的,我已经试过了——尽管我正在生成一个不以.ics结尾的url上的ics提要。这就是区别吗?@MitchR这可能是问题所在-可能是iOS没有将其识别为日历订阅。当您尝试使用该代码时会发生什么?它只是在iPhone上打开Safari并显示ics源文本。我可以在MacOSX的iCal应用程序中订阅它——这证明它是一个有效的提要。我将尝试将我的.NET提要以.ics结尾,并向您报告。@MitchR这可能是您最好的选择。。。这可能是一个愚蠢的建议,但也许你可以把你的URL添加到它的末尾。因为它是ICS格式的,它可能会工作…嗯-结果它不是它要找的结尾的“ICS”位,但我必须将MIME类型设置为text/calendar。现在它就像你描述的那样工作。不幸的是,它似乎只允许将这些事件导入日历,而不允许订阅。