3

在我的 Info.plist 文件中,我有这个:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeName</key>
        <string>CSV Data</string>
        <key>LSHandlerRank</key>
        <string>Alternate</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>public.comma-separated-values-text</string>
        </array>
    </dict>
</array>

主要是有效的。

当有人在 Windows 上使用 Excel 电子表格,将其保存为 CSV,然后通过电子邮件将其通过电子邮件发送到他们的 iPad 以导入我的应用程序时,就发生了这种螺旋事件。

邮件客户端给附件一个 MIME 类型的 application/vnd.ms-excel,这可能被认为是不正确的。我希望 MIME 类型实际上用于 Excel 格式的文件,而不仅仅是从 Excel 导出的任何文件。

在 iOS 邮件应用程序中,我长按附件以在其他应用程序中打开文件。这是错误的地方。

我的应用程序包含在可用应用程序列表中。我不确定是否将其称为正确或错误。该文件是 CSV 文件并具有 .csv 后缀,因此我很高兴我的应用程序被邀请参加聚会。但...

如果我然后单击我们的应用程序打开该文件,它“不起作用”,这意味着我的 AppDelegate 中的 OpenURL 方法永远不会被调用。

在这种情况下,两个错误确实使一个正确。如果我撒谎并将 com.microsoft.excel.xls 添加到 LSItemContentTypes,那么它“有效”,这意味着(1)我的应用程序仍然在“打开方式”对话框中列出,并且(2)iOS 实际上给了我文件,并且( 3)因为文件不是真正的 Excel 格式,而是 CSV,所以我的应用程序处理得很好。

但是现在该应用程序声称支持实际的 Excel 文件,但它并不支持。

这似乎是 iOS 中的一个错误。要么不要在对话框中列出我,要么实际上给我文件。

还是我做错了什么?

4

1 回答 1

0

我使用 passkit 遇到了类似的问题,但没有找到接受格式错误的 MIME 类型的解决方案。我建议您添加一个从 Excel 到 CSV 的转换器并接受 Excel 文件!(:

这是另一篇文章可以帮助您: Read data from Excel file in Objective-C (iPhone)

于 2013-05-22T14:55:40.840 回答