UIWebView 间歇性拒绝访问 html5 数据库存储

Posted

技术标签:

【中文标题】UIWebView 间歇性拒绝访问 html5 数据库存储【英文标题】:UIWebView intermittently denied access to html5 database storage 【发布时间】:2011-07-17 23:04:19 【问题描述】:

我有一个 iphone 应用程序,它允许用户通过 ios 上的本机 UIView 登录,然后启动 UIWebView 以显示主要内容。 webapp 使用数据库存储在本地保留一些内容。

但是,有时,当尝试访问数据库时,webapp 将无法加载,并且日志中会出现以下消息。

..... sandboxd[3203] : APPNAME(3201) 拒绝 file-write-create /Databases.db

我无法以任何一致性重现该错误(起初我认为它只会在内存不足的情况下发生,但进一步的测试证明它也发生在其他时间)。如果发生此类故障,该应用程序设置为使用新的UIWebView 重试,但我注意到一旦发生一次,它将一直发生,直到应用程序被强制关闭。通常,一旦关闭并重新打开,应用程序将照常运行。

内存占用非常低,我已经监控了泄漏但没有发现任何东西。

【问题讨论】:

我怀疑您收到的请求不止一个。你在应用中做多线程吗? 我遇到了同样的错误:sandboxd[1985] : deny file-write-create /private/var/mobile/Applications/ Andrew C,我遇到了同样的错误,你解决了吗? 难以捉摸,虽然我从未解决过最初的问题(解决了它),但 Hot Licks 提到的可能是最正确的答案。写入数据库时​​要注意多线程。 同样的问题,我不敢相信这与多线程有关,否则它不会一直失败,直到应用程序关闭/重新打开。 【参考方案1】:

可能是您超过了 5MB 的数据存储配额?

http://www.html5rocks.com/en/tutorials/offline/quota-research/?redirect_from_locale=de

【讨论】:

以上是关于UIWebView 间歇性拒绝访问 html5 数据库存储的主要内容,如果未能解决你的问题,请参考以下文章

Django/Google Kubernetes 间歇性 111:连接拒绝上游服务

joinChannelWithUserAccount 间歇性抛出错误“请求被拒绝”

JFrog Artifactory 间歇性拒绝身份验证,403 被禁止

由于拖动事件中的 DOM 操作,HTML5 可拖动的放置事件不会间歇性触发

将 SQL 存储添加到 NSPersistentStoreCoordinator 时如何调试/处理间歇性“授权被拒绝”和“磁盘 i/o”错误?

UIWebView 无法正确读取一些本地 HTML5 内容