Ionic Framework

Invalid Binary: สิ่งที่เราจะเจอถ้าไม่ใช้ WKWebView ในโปรเจค iOS

เรื่องที่เกี่ยวข้อง - Ionic Framework, Ionic Framework for iOS, iOS Application Development
iOS iPhone Dev

ในปัจจุบันทาง Apple ออกคำเตือนให้นักพัฒนาทุกคน ไม่ว่าจะเป็นสาย Native Swift หรือ Cross Platform ว่าถ้าไม่เปลี่ยนภายในแอพที่ใช้ UIWebView ไปเป็น WKWebView ก็จะไม่รับแอพใหม่เข้า App Store

ส่วนอัพเดตแอพใหม่ ถ้ายังไม่ไปใช้ WKWebView ก็จะไม่รับอัพเดตหลังธันวาคม 2020 นะจ๊ะ

ระบบ Mobile OS นั้นมีการพัฒนา และปรับเปลี่ยนอยู่เรื่อยๆ ซึ่งทำให้นักพัฒนาแอพพลิเคชั่นต้องตื่นตัวในการอัพเดตแอพของเราให้รองรับการเปลี่ยนแปลงใหม่ๆ ไม่งั้นอาจถูกทางเจ้าสำนักนั้นๆ ปฏิเสธแอพได้

ทีนี้บางคนอาจจะสงสัยว่า ปฏิกิริยาจาก Apple, App Store Connect หรือ iTune Connect จะเป็นยังไงถ้าเรายังดึงดันเอาแอพที่มีการใช้งาน UIWebView ส่งชึ้นไปหาเขาอยู่

พอดีพลกับพี่โก๋แห่ง CASAN ที่เป็นลูกค้าประจำ เจอปัญหานี้ ในโปรเจคที่ใช้ Ionic Framework มาด้วยกัน เลยอยากเอามาแชร์เป็นข้อมูล เผื่อใครเจอเคสเดียวกันจะได้ไม่เสียเวลาครับ

Invalid Binary อัพปุ๊บ เจอปั๊บ

อาการเป็นอย่างนี้ครับ ถึงแม้ว่าเราจะอัพเดต cordova-ios เป็นเวอร์ชั่นล่าสุดแล้ว (ตอนที่ใช้อยู่นี้เป็นเวอร์ชั่น 5.1.1 และคอนเฟิร์มว่ามี WKWebView แล้ว) แต่ถ้าเราทำแค่นี้ แล้วส่ง iOS Archive ขึ้น App Store Connect จะเกิดอะไรขึ้น

จะได้ข้อความแบบนี้แจ้งเตือนมาครับ (อันนี้คือแอพ App Store Connect คู่ขวัญคนทำแอพ iOS ติดตั้งได้จากที่นี่)

ซึ่งช่วงที่เจอ มันส่งมาแค่นี้ครับ ไม่มี Email อะไรตามมาทั้งสิ้น แบบนี้ถึงกับงงเป็นไก่ตาแตกกันอยู่ 2 คน

แต่ Email ที่ส่งตามมาอีกวันหนึงก็ยืนยันสาเหตุที่ชัดเจนดังนี้ครับ

TMS-90809: Deprecated API Usage – New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview).

Though you are not required to fix the following issues, we wanted to make you aware of them:

ถึงตรงนี้อาจจะ อ่าววววว กันเป็นแน่

เพราะเราอัพเดตมาใช้ cordova-ios ตัวใหม่แล้ว มันไม่น่าจะเจอปัญหาแล้วนี่ มาดูกันว่าจะแก้ได้ยังไง

ทำไงถึงจะไม่เจออาการนี้

ถึงแม้ว่าใน Email จะบอกว่า ชิวๆ ยังไม่ต้องแก้อะไร แต่อย่าลืมนะว่าพลเตือนไว้ด้านบนของโพสต์นี้แล้ว มันก็ยังเป็นอาการที่ทำให้เกิด Invalid Binary ดังกล่าว

วิธีแก้คือ นอกจากจะอัพเดต iOS ในโปรเจค Ionic เป็น cordova-ios แล้ว (ดูวิธีอัพเดตได้ที่นี่)

เราต้องไปเพิ่มข้อมูลใน config.xml อีกครับ นั่นคือตัวนี้

<preference name="WKWebViewOnly" value="true" />

เท่านี้ก็สามารถอัพแอพขึ้น Apple Store Connect ได้อย่างไม่มีปัญหาแล้ว

เริ่มต้น Ionic Framework เข้าใจง่ายกับโค้ชพลด้านล่างได้เลย

เปิดอบรมสร้าง Cross Platform Mobile Application ด้วย Ionic Framework

เหมาะสำหรับคนทำเว็บ, เริ่มต้น JavaScript ES6 และ Angular เข้าใจง่าย, ใช้ได้จริง

สอบถาม หรือติดต่อจัดอบรมโทร 083-071-3373

โปรหน้าฝน! เรียนรอบสด รับคอร์สออนไลน์มูลค่ากว่า 5800 บาทฟรี!

อ้างอิง – Ionic Blog

เริ่มต้นยุค AI ด้วยคอร์สฟรี และพรีเมี่ยม กับพล

หากชอบสิ่งที่พลเล่า เรื่องที่พลสอน สามารถสนับสนุนพลโดยการเข้าเรียนคอร์สออนไลน์ของพลนะคร้าบ

  • เข้าใจง่าย ใช้ได้จริง ออกแบบการสอนอย่างเข้าใจโดยโค้ชพล
  • มีคอร์สสำหรับคนใช้งานทั่วไป จนถึงเรียนรู้เพื่อใช้งานในสายอาชีพขั้นสูง
  • ทุกคอร์สมีใบประกาศณียบัตรรับรองหลังเรียนจบ

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save