1

我有一个应用程序可以识别在我的 iOS 应用程序中创建的文件的扩展名。

当我向自己发送电子邮件时,我创建并使用 Mail 中的“打开方式”,或者如果我从 Dropbox 应用程序中“打开方式”,一切都按计划进行。如果我在 Mobile Safari 中访问文件的 Dropbox 网页,就会出现问题。在这里,灰色屏幕使用“打开方式”选项加载,当我点击按钮时它会加载我的应用程序,我什至在我的应用程序中获得了一个可以使用的 URL,但最终我的应用程序无法加载从 Mobile Safari 发送的数据. 我相信这是因为移动 Safari 更改了数据,因为来自 Mail 或 Dropbox 应用程序的 NSData 的字节长度为 916,406,而来自 Mobile Safari 的字节长度为 925,519。

有谁知道 Mobile Safari 在将数据发送到与 Mail 或 Dropbox 应用程序不同的其他 iOS 应用程序时对数据做了什么?

4

1 回答 1

0

我弄清楚发生了什么事。我下载到我的应用程序中的数据是使用 gzip 压缩的。事实证明,当 Mobile Safari 将文件发送到我的应用程序时,它会发送未压缩的文件,而如果我从 Mail 或 Dropbox 应用程序打开文件,它会发送压缩文件。

所以现在我只检查数据是否来自 Mobile Safari,如果是,我不解压缩它。希望这可以帮助其他人。

于 2012-06-26T04:31:41.863 回答