菜鸟教程小白 发表于 2022-12-13 00:47:27

ios - 在 UIWebView 中处理 ics 数据


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

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

<pre><code>[self.webView loadData:_webData
            MIMEType:@&#34;text/v-calendar&#34;
      textEncodingName:@&#34;utf-8&#34;
               baseURL:];
</code></pre>

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

<pre><code>BEGIN:VCALENDAR\r\nPRODID:-//bobbin v0.1//NONSGML iCal
Writer//EN\r\nVERSION:2.0\r\nCALSCALE:GREGORIAN\r\nMETHOD:PUBLISH\r\nBEGIN:VEVENT...
</code></pre>

<p><strong>更新:</strong>我能够在 <code>UIDocumentInteractionController</code> 中实现这一点,它可以准确地显示 safari 如何处理数据的日期和时间,但是,没有t “全部添加”按钮或“在日历中打开...”选项。 UTI 已正确设置为 <code>com.apple.ical.ics</code>,但 View 中没有显示任何可用选项。 </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这个 <a href="https://stackoverflow.com/questions/22082043/open-ics-file-in-ios-app" rel="noreferrer noopener nofollow">link</a>可能会提供解决方案。似乎 UIDocumentInteractionController 可与 .ics 文件一起使用,但我尚未验证。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 在 UIWebView 中处理 ics 数据,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/25289779/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/25289779/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 在 UIWebView 中处理 ics 数据