ในปัจจุบันทาง Apple ออกคำเตือนให้นักพัฒนาทุกคน ไม่ว่าจะเป็นสาย Native Swift หรือ Cross Platform ว่าถ้าไม่เปลี่ยนภายในแอพที่ใช้ UIWebView ไปเป็น WKWebView ก็จะไม่รับแอพใหม่เข้า App Store
ส่วนอัพเดตแอพใหม่ ถ้ายังไม่ไปใช้ WKWebView ก็จะไม่รับอัพเดตหลังธันวาคม 2020 นะจ๊ะ
ล่าสุดทาง Apple มีนโยบายปรับให้แอพทุกตัว ไม่ว่าจะสร้างแอพด้วยเครื่องมือ หรือ framework อะไรก็ตาม ถ้ามีการใช้ UIWebView ต้องปรับมาใช้ WKWebView ให้หมด
สำหรับพวกเราที่ใช้งาน Ionic Framework ในการพัฒนาแอพ iOS ตัว Cordova จะมีการใช้ UIWebView ในการแสดงหน้าตาของ User Interface อยู่แล้ว ก็ต้องมีการปรับมาใช้ WKWebView นะครับ
ไม่งั้นตอน upload ไปที่ Apple Store Connect อาจจะเจอ Invalid Binary
ซึ่งวิธีการปรับนั้นง่ายอยู่ มาดูกันเลย
การอัพเกรด Cordova iOS
ตัว Cordova นั้นเป็นระบบที่แยกออกจาก Ionic อีกที การอัพเกรดเลยทำได้ง่าย ให้เราดำเนินการ เปิด Terminal หรือ Command Prompt, Powershell ขึ้นมาที่โฟลเดอร์โปรเจค
และรันคำสั่ง ดังนี้
ionic platform update ios
โดยให้สังเกตว่า ถ้าเรารันคำสั่ง ionic info
จาก terminal จะมีส่วนที่แสดงข้อมูลของ cordova-ios
เป็นเวอร์ชั่น 5.1 ขึ้นไป
Cordova:
Cordova CLI : 9.0.0 ([email protected])
Cordova Platforms : ios 5.1.1
ซึ่งถ้าเป็นเช่นนั้น เราสามารถลองถอด ios ออกจากโปรเจค ionic และ ติดตั้งใหม่ด้วยคำสั่งด้านล่าง
// คำสั่งถอด iOS และติดตั้งใหม่ในโปรเจค ionic
ionic cordova platform remove ios
ionic cordova platform add ios
// ถ้าต้องการบังคับให้ลงเวอร์ชั่น 5.1 เลยก็สามารถใช้คำสั่งติดตั้งนี้แทนด้านบน
ionic cordova platform add [email protected]
การกำหนดใช้ WKWebView
ให้เปิดไฟล์ config.xml
แล้วให้เพิ่มบรรทัดนี้เข้าไปในไฟล์ครับ
<preference name="WKWebViewOnly" value="true" />
เช่นเพิ่มเข้าไปด้านล่างสุดแบบนี้ (นั่นคือยังอยู่ใน<widget>
)
...
<preference name="WKWebViewOnly" value="true" />
</widget>
บันทึกไฟล์ให้เรียบร้อย เท่านี้ตอนเอาไปใช้งานก็สามารถอัพโหลดผ่าน Apple Store Connect ได้อย่างสบายใจแล้ว
เริ่มต้นเรียนรู้ Ionic เข้าใจง่ายกับโค้ชพล
เปิดอบรมสร้าง Cross Platform Mobile Application ด้วย Ionic Framework
เหมาะสำหรับคนทำเว็บ, เริ่มต้น JavaScript ES6 และ Angular เข้าใจง่าย, ใช้ได้จริง
สอบถาม หรือติดต่อจัดอบรมโทร 083-071-3373
โปรหน้าฝน! เรียนรอบสด รับคอร์สออนไลน์มูลค่ากว่า 5800 บาทฟรี!