OStack程序员社区-中国程序员成长平台

标题: ios - 在 UIWebView 中处理 ics 数据 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 00:47
标题: ios - 在 UIWebView 中处理 ics 数据

我有一个使用 UIWebView 和 cordova/PhoneGap 的应用程序。该应用程序的一个部分具有“下载日历”功能,这在 native iOS 端给我带来了很多问题。下载日历的基本功能是一个 ajax 调用(类型OST),它返回格式化的 ics 数据。在移动 Safari 中,此功能完美。表格 View 将从底部向上滑动,让我可以选择将列出的事件添加到手机的日历中。我认为这就是 safari 通常处理 ics 文件的方式。现在我的问题...

UIWebView 似乎不想这样做。当我点击“下载日历”时,什么也没有发生。为了获取 ics 数据,我使用了 NSURLConnection 来获取响应,并将其放入名为 webData 的 NSData 结构中。使用 _webData,我正在调用这个电话:

[self.webView loadData:_webData
              MIMEType"text/v-calendar"
      textEncodingName"utf-8"
               baseURL:[NSURL URLWithString"calshow://"]];

在我的 shouldStartLoadWithRequest: 方法中,我告诉任何 'calshow://' url 打开日历,但我认为这不会让我得到任何结果,因为我无法通过NSData 以及它。我现在的主要问题是,我的 UIWebView 可以模仿 safari 如何处理这些 ics 数据吗?如果没有,我可以用这个 NSData 做任何有用的事情吗?

BEGIN:VCALENDAR\r\nPRODID:-//bobbin v0.1//NONSGML iCal 
Writer//EN\r\nVERSION:2.0\r\nCALSCALE:GREGORIAN\r\nMETHODUBLISH\r\nBEGIN:VEVENT...

更新:我能够在 UIDocumentInteractionController 中实现这一点,它可以准确地显示 safari 如何处理数据的日期和时间,但是,没有t “全部添加”按钮或“在日历中打开...”选项。 UTI 已正确设置为 com.apple.ical.ics,但 View 中没有显示任何可用选项。



Best Answer-推荐答案


这个 link可能会提供解决方案。似乎 UIDocumentInteractionController 可与 .ics 文件一起使用,但我尚未验证。

关于ios - 在 UIWebView 中处理 ics 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25289779/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4