如何正确告诉iOS我的应用处理CSV?

时间:2013-05-22 14:15:51

标签: ios

在我的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中的一个错误。要么不在对话框中列出我,要么实际上给我文件。

或者我做错了什么?

1 个答案:

答案 0 :(得分:0)

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

这是另一篇帮助您的帖子: Read data from Excel file in Objective-C (iPhone)