我有一个应用程序可以识别在我的 iOS 应用程序中创建的文件的扩展名。
当我给自己发送一个我创建的文件并使用“打开方式”从邮件中发送给自己时,或者如果我从 Dropbox 应用程序“打开方式”,一切都按计划进行。如果我在 Mobile Safari 中转到文件的 Dropbox 网页,事情就会崩溃。这里灰色屏幕加载了“打开方式”选项,当我点击按钮时它加载了我的应用程序,我什至在我的应用程序中得到了一个 URL 来使用,但最终我的应用程序无法加载从 Mobile Safari 发送的数据.我相信这是因为数据被 Mobile Safari 更改了,因为来自 Mail 或 Dropbox 应用程序的 NSData 的字节长度为 916,406,而来自 Mobile Safari 的字节长度为 925,519。
有谁知道 Mobile Safari 在将数据发送到与 Mail 或 Dropbox 应用程序不同的其他 iOS 应用程序时对数据做了什么?
最佳答案
我明白了这是怎么回事。我下载到我的应用程序中的数据是使用 gzip 压缩的。事实证明,当 Mobile Safari 将文件发送到我的应用程序时,它发送的是未压缩的文件,而如果我从 Mail 或 Dropbox 应用程序打开文件,它发送的是压缩文件。
所以现在我只检查数据是否来自 Mobile Safari,如果是,我不会解压缩它。希望这可以帮助其他人。
关于ios - "Open In..."移动 safari 与邮件或其他 iOS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10866579/