ios - "Open In..."移动 safari 与邮件或其他 iOS 应用程序

标签 ios xcode mobile-safari openurl

我有一个应用程序可以识别在我的 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/

相关文章:

ios - Swift 应用内购买非消耗品

ios - NSURLErrorDomain 代码-1002 下载pdf

javascript - iOS 6 中的 iPhone Safari 是否支持内联视频?

jquery-mobile - 如何调试移动 Safari 崩溃?

html - 网站在 iPhone 上旋转 180 度

ios - swift 午睡框架 : do something before sending requests

iOS - UITableViewCell 中 UIButton 的延迟 "Touch Down"事件

iphone - 如何恢复所有那些好的旧 Xcode 功能?

ios - 将数据上传到 Parse.com 时,UIAlertView 似乎卡住了应用程序

ios - 删除添加到项目中的文件夹