在我的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中的一个错误。要么不在对话框中列出我,要么实际上给我文件。
或者我做错了什么?
答案 0 :(得分:0)
我使用passkit遇到了类似的问题,但没有找到接受格式错误的MIME类型的解决方案。我建议您将Excel中的转换器添加到CSV并接受Excel文件! (:
这是另一篇帮助您的帖子: Read data from Excel file in Objective-C (iPhone)