我有一个使用 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-推荐答案 strong>
这个 link可能会提供解决方案。似乎 UIDocumentInteractionController 可与 .ics 文件一起使用,但我尚未验证。
关于ios - 在 UIWebView 中处理 ics 数据,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/25289779/
|