[英]iOS app WKWebView error when uploading image
在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){}
});
}
我对来自 wkWebView 的这个和其他错误有预感,我想我证明了这一点。 它与文件上传时间过长有关,iOS 抱怨它,并且 wkWebView 被“释放”(根据另一个线程)。 就我而言,我的上传需要 5 到 13 秒。
我在 Web Worker 中实现了我的上传,结果在 Cordova 上有点棘手,但是一旦我这样做了,所有问题都消失了。
所以我的修复似乎只在我的开发机器上的模拟器中解决了这个问题,它使用的是 iOS 13.3。 当我在运行 iOS 13.7 的“生产”机器上构建时,错误返回。 在将文件上传到 Worker 之前,这两种环境都发生了这种情况。
似乎苹果正在向 iOS 添加一些触发这些但尚未记录或解释的内容。 这是我的新理论。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.