我的应用程序能够从 iPhone 上的电子邮件附件中导入 CSV 文件。Excel 用于生成 CSV 文件。
最初我设置Document Type
为public.comma-separated-values-text
.
这适用于基于 Mac 的 CSV 文件。但是,当通过电子邮件发送基于 Windows 的 CSV 文件时,iPhone 会以不同的方式处理它们。快速视图无法处理它们,并将它们标记为 .XLS 文件。
果然,当我调用时[csvFilenameString pathExtension]
,它应该返回“CSV”,而是返回“XLS”。但实际的文件扩展名是“.csv”!
因此,为了支持这种怪异并仍然能够阅读它们,我不得不将我的应用程序Document Type
设置更改为public.data
.
当然,现在对于 iOS,我的应用程序看起来已经注册为支持电子邮件附件的每种文件类型。
我能分辨出的两个 CSV 类型文件(Mac 与 Windows)之间的唯一区别是 EOL。Mac 使用 LF,而 Windows 使用 CRLF。
不过,我认为 iOS 应该更聪明地将其正确检测为 CSV 而不是 XLS。
还有人经历过这个吗?