[英]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.