ใครใช้ PhoneGap/Cordova สร้างแอพ Windows (ใช้ได้ใน Windows 8 ขึ้นไป ผ่าน App Store) ตอนนี้จะเจอปัญหา Build ตัวแอพออกมาใช้งานไม่ได้ ซึ่งทางทีม Cordova ออกมาชี้แจงสาเหตุและวิธีแก้ไขดังนี้
สาเหตุของการ Build แอพ Windows ไม่ได้
สาเหตุของปัญหาก็คือมี Certificate ในเทมเพลตของ Windows platform หมดอายุไปในวันที่ 11 ที่ผ่านมา (ซึ่งไฟล์ Certificate นี้ ทางทีม Cordova เป็นคนสร้างและอัพขึ้นเอง เมื่อหมดอายุ เลยโดนกันทุกคน)
โดยข้อผิดพลาดนี้มีผลกับโปรเจคแอพ Windows ที่ถูกสร้างก่อนหน้าที่ทุกตัว และสร้างโดยใช้คำสั่งจาก Cordova CLI เวอร์ชั่น 4.0.0 หรือต่ำกว่า
*** ทางทีม Cordova แจ้งว่าข้อผิดพลาดนี้ไม่มีผลกับแอพ Windows Phone 8 (WP8) นะครับ ***
อาการที่จะพบ
หากตอนที่คุณใช้คำสั่ง ประมาณว่า
cordova run windows
จะเจอกับ error ประมาณนี้ครับ ซึ่งเป็นผลจาก Certificate หมดอายุตามที่กล่าวมาด้านบน
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\AppxPackage\Microsoft.AppXPackage.Targets(1772,9): error APPX0108: The certificate specified has expired.
วิธีแก้ไขตอนนี้
เวอร์ชั่นที่แก้ไขอย่างสมบูรณ์จะออกมาใน Cordova CLI รุ่นถัดไป ซึ่งคงเป็นเวอร์ชั่น 4.1 ครับ
แต่ถ้าต้องการแก้ปัญหา Build แอพ Windows ตอนนี้เลย แก้ได้ 2 วิธี
วิธีที่ 1 ดาวน์โหลดไฟล์ Certificate ใหม่มาแทนที่ตัวที่มีปัญหา
Download ไฟล์ Certificate ใหม่จากที่นี่ ไปวางไว้แทนที่ของเดิมใน
{Folder โปรเจค Cordova}\platforms\windows\CordovaApp_TemporaryKey.pfx
โดยให้เปลี่ยนชื่อไฟล์ที่ดาวน์โหลดมาเป็น CordovaApp_TemporaryKey.pfx ก่อนที่จะ copy ไปวางไว้ใน folder ดังกล่าวนะครับ
วิธีที่ 2 เพิ่ม Windows platform เป็นเวอร์ชั่น 3.7.1
ให้ทำการลบ Windows platform ที่มีอยู่ในโปรเจคเดิมโดยใช้คำสั่งด้านล่าง (ขั้นตอนนี้จะเป็นการลบแอพ Windows เดิมที่มีอยู่ออกจากโปรเจค Cordova)
cordova platform remove windows
แล้วให้ทำการเพิ่ม Windows platform ใหม่โดยระบุเป็นรุ่น 3.7.1 แบบด้านล่าง
cordova platform add [email protected]
ซึ่งจะทำให้ได้โปรเจคแอพ Windows ที่มาพร้อมกับไฟล์ Certificate ที่ไม่มีปัญหาครับ
ปัญหานี้จะหมดไปเมื่อ…
อย่างที่บอกไปในส่วนของวิธีแก้ไข ปัญหานี้จะแก้ไขในเวอร์ชั่นถัดไปของ Cordova CLI ครับ
โดยทีม Cordova จะแทนที่ไฟล์ Cerficiate ด้วยกลไกที่จะสร้างไฟล์ Certificate ใหม่อัตโนมัติเพื่อทำให้พวกเราไม่ต้องใช้ไฟล์ Certificate ที่ติดมากับ Cordova ซึ่งมีโอกาสหมดอายุได้อีกครั้ง
อบรม Workshop สร้างแอพ iOS, Android ด้วย HTML5 และ PhoneGap/Cordova 4
ถ้าคุณสนใจมาเรียนรู้เทคโนโลยี PhoneGap/Cordova แบบรู้จริง ทำจริง เอาแอพลงเล่นในสมาร์ทโฟน และแท็บเล็ตจริงๆ กับโค้ชพล ลองดูตารางที่ผมเปิดอบรม และลงทะเบียนได้ครับ
ถ้าต้องการอบรมให้ทีมเยอะๆ ให้โค้ชพลไปอบรมถึงที่จะประหยัดกว่า ลองสอบถาม 083-071-3373
ที่มา – Apache Cordova