แอพ Cordova ติดอยู่บนหน้าจอเริ่มต้นบน iOS 14 Beta

Aug 17 2020

ฉันมีแอป Cordova ธรรมดาและเมื่อฉันเรียกใช้บน iOS 14 เบต้าแอปจะติดอยู่บนหน้าจอเริ่มต้นและมีคำเตือน / ข้อผิดพลาดเล็กน้อยที่บันทึกไว้ใน XCode แต่ฉันไม่แน่ใจว่ามันเป็นสาเหตุของปัญหาหรือไม่

ฉันได้สร้างแอป Cordova เปล่าเพื่อทดสอบว่ามันทำงานบน iOS 14 หรือไม่และเมื่อฉันเรียกใช้บนอุปกรณ์แอปนั้นทำงานได้ตามที่คาดไว้ แต่เมื่อฉันตั้งค่าแอปให้ใช้WKWebViewแทนUIWebViewแอปก็ติดอยู่บนหน้าจอเริ่มต้น

ฉันได้เพิ่มการตั้งค่าด้านล่างเพื่อใช้ WKWebView ในไฟล์ config.xml

<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
    <param name="ios-package" value="CDVWKWebViewEngine" />
</feature>

ฉันได้เพิ่ม Cordova-plugin-wkwebview-engine แล้ว แต่ฉันไม่รู้ว่ามันช่วยฉันในการตั้งค่า WKWebView หรือไม่

ด้านล่างนี้คือข้อผิดพลาดที่ฉันได้รับใน XCode:

2020-08-17 12:01:37.990216+0530 BankWindhoek[58947:1465531] nil host used in call to allowsAnyHTTPSCertificateForHost:
2020-08-17 12:01:37.991180+0530 BankWindhoek[58947:1465531] nil host used in call to allowsSpecificHTTPSCertificateForHost

แต่หลังจากได้รับข้อผิดพลาดนี้ XCode จะพิมพ์คำสั่งว่าได้โหลด index.html

2020-08-17 12:01:38.039671+0530 BankWindhoek[58947:1465275] Finished load of: file:///Users/user1/Library/Developer/CoreSimulator/Devices/88FDF8E3-EDCE-4BB6-95B3-29CA606DA2C5/data/Containers/Bundle/Application/6EE35C46-E78E-4E49-B836-17EBDE6CD664/test.app/www/index.html

แต่บน UI ของแอปไม่มีสิ่งใดแสดงผลอย่างถูกต้องและแสดงหน้าจอสีขาวว่างเปล่า

การกำหนดค่า :

Cordova เวอร์ชัน: 9.0.0.0

Cordova-ios: 5.1.1

หมายเหตุ : หากฉันเรียกใช้แอพเดียวกันบน iOS 13 / iOS 13.1 มันทำงานได้ตามที่คาดไว้

คำตอบ

4 Eric Aug 17 2020 at 21:42

คุณควรอัปเกรดเป็น Cordova 10 แล้วจึงนำออก

<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
    <param name="ios-package" value="CDVWKWebViewEngine" />
</feature>

และลบ

 cordova-plugin-wkwebview-engine

แล้ว

 cordova plugin add @globules-io/cordova-plugin-ios-xhr

และตั้งค่าแฟล็กเช่นเดียวกับที่คุณต้องการสำหรับ wkwebview-engine

นอกจากนี้คุณยังต้องอัปเกรดปลั๊กอินหน้าจอสแปลชของคุณสำหรับรูปแบบภาพหน้าจอใหม่ อ่านhttps://cordova.apache.org/news/2020/07/21/splashscreen-plugin-release.html