上传图片时iOS应用WKWebView错误
Posted
技术标签:
【中文标题】上传图片时iOS应用WKWebView错误【英文标题】:iOS app WKWebView error when uploading image 【发布时间】:2019-10-04 19:50:18 【问题描述】:在WKWebView
中,当我通过 Ajax 使用 FormData 将图像上传到我们的服务器时,我收到了这个警告。整个过程顺利完成。
任何人都可以建议缺少的权利是什么。我已查看与 WKWebView
相关的权利
在控制台中,我看到 pid 与“webkit.uploads”相关联
“缺少必要的客户端授权” 请求原因:FinishTaskUnbounded;原因:FinishTaskUnbounded;标志:PreventTaskSuspend>
// xcode debug console on submit
MyDomain[3002:428982] [ProcessSuspension] 0x104be68a0 - ProcessAssertion() PID 3002 Unable to acquire assertion for process with PID 3002
MyDomain[3002:427999] [ProcessSuspension] 0x104be68a0 - ProcessAssertion::processAssertionWasInvalidated()
MyDomain[3002:428982] [assertion] Error acquiring assertion: <NSError: 0x281b3b6f0; domain: RBSAssertionErrorDomain; code: 2; reason: "Required client entitlement is missing">
userInfo =
RBSAssertionAttribute = <RBSLegacyAttribute: 0x100f2ee40; requestedReason: FinishTaskUnbounded; reason: FinishTaskUnbounded; flags: PreventTaskSuspend>;
// javascript upload code
var formData=new FormData();
formData.append("action", 'save');
var fileInput = document.getElementById('addImage');
if (fileInput.files && fileInput.files[0])
var file = fileInput.files[0
formData.append('messageImage', file);
hasFile = true;
if(hasFile)
$.ajax(
type: "POST",
url: "/images/save",
data: formData,
dataType: 'json',
contentType: false,
processData: false,
success: function(result)
);
【问题讨论】:
我确实面临同样的问题。请在找到修复程序时更新。谢谢 我无法识别缺失的权利。显然,此警告与将文件附加到 javascript FormData 对象并提交的行为有关。我测试的其他变体,例如在没有文件的情况下提交,没有产生这个警告。尽管有这个警告,我还是能够毫无问题地在应用商店上发布该应用。如上所述,上传完成没有问题。 好的。谢谢。在更安全的方面,我使用 base64 字符串并发布到服务器。 这里有同样的问题。有时应用程序似乎会被此卡住。 我在 ios 和 android 上的 Ionic 应用程序中看到了同样的问题。 Android 版本在完全相同的时间点失败,但显示不同的消息。文件已上传,但某些内容阻止读取响应,导致引用为空。 【参考方案1】:我有预感来自 wkWebView 的这个和其他错误,我想我证明了这一点。它与文件上传时间过长有关,iOS 抱怨它,并且 wkWebView 被“释放”(根据另一个线程)。就我而言,我的上传需要 5 到 13 秒。
我在 Web Worker 中实现了我的上传,结果证明这在 Cordova 上有点棘手,但是一旦我这样做了,所有问题都消失了。
【讨论】:
【参考方案2】:所以我的修复似乎只在我使用 iOS 13.3 的开发机器上的模拟器中解决了这个问题。当我在运行 iOS 13.7 的“生产”机器上构建时,错误返回。在将文件上传到 Worker 之前,这两种环境都发生了这种情况。
Apple 似乎正在向 iOS 添加一些触发这些但尚未记录或解释的东西。这是我的新理论。
【讨论】:
以上是关于上传图片时iOS应用WKWebView错误的主要内容,如果未能解决你的问题,请参考以下文章
通过邮寄上传图片时 iOS AFNetworking 内部服务器错误 (500)
关于本地安装discuz,上传图片sever(IO) error错误
使用 Firebase 和 Swift (iOS) 上传图片