ข่าวนี้น่าจะกระทบนักพัฒนาแอพฝั่ง iOS ถ้วนหน้า โดยเฉพาะคนที่ทำแอพกันอยู่ปัจจุบันจ้า
เพราะตอนนี้ ไฟล์สำคัญที่ใช้ในกระบวนการสร้าง และส่งแอพ iOS มันหมดอายุการใช้งานมาหมาดๆ ในวันแห่งความรักคร้าบ!
มันคือ Apple Worldwide Developer Relations Certificate Authority นั่นเอง (ใช่ โค้ชพลก็คิดอย่างนั้น ชื่อยาวชะมัด)
การหมดอายุของ Apple Worldwide Developer Relations Intermediate Certificate
สำหรับคนที่ทำแอพ iOS หรือเรียนสร้างแอพ iOS และ Android ออนไลน์กับโค้ชพลไปแล้ว สั้นๆ ตรงนี้:
มันคือไฟล์ที่ Apple ออกให้มาติดตั้งในเครื่อง หลังจากเราเข้าไปลงทะเบียน Apple Developer Program เพื่อใช้ตรวจสอบ และยืนยันความปลอดภัยของแอพที่เราสร้าง
มันจึงเป็นไฟล์ที่ Apple ให้ความสำคัญมาก เพราะมันเป็นหนึ่งในการยืนยันตัวตนนักพัฒนา และทำให้ระบบของแอพพลิเคชั่นนั้นปลอดภัยมากขึ้น
Apple จึงเป็นฝ่ายที่ออกไฟล์นี้ ให้นักพัฒนานำไปติดตั้งในเครื่องที่ใช้สร้างแอพพลิเคชั่น iOS
ซึ่งเมื่อก่อนนักพัฒนาต้องทำการดาวน์โหลดและติดตั้งเอง แต่ปัจจุบันขั้นตอนพวกนี้ถูกจัดการผ่านระบบอัตโนมัติของ Xcode
เรื่องมาใหญ่ตรงที่ไฟล์ Intermediate Certificate พวกนี้ มีวันหมดอายุ
และมันหมดไปหมาดๆ เมื่อวันที่ 14 กุมภาพันธ์!
โดยบริการที่ได้รับผลกระทบมีรายชื่อดังนี้
- Apple Wallet Passes
- Mac Apps
- Safari Extension
- Safari Push Notification
- App Store Submissions (การส่งแอพพลิเคชั่นขึ้น App Store)
ซึ่งถ้าไม่ดำเนินการ จะมีอันเป็นไป เฮ้ย ไม่ใช่! จะทำให้มีปัญหาในการใช้บริการดังกล่าว
ดังนั้นถ้าคุณเห็นอาการประหลาดๆ ใน 5 บริการดังกล่าว มันอาจจะเกิดจากปัญหานี้นั่นเอง ลองดูรายละเอียดในหัวข้อถัดไป
วิธีดำเนินการ: ดาวน์โหลดและติดตั้ง Certificate ใหม่
นักพัฒนาที่เข้าข่ายการใช้บริการ 5 ส่วนด้านบน (จริงๆ ถ้าดูจากข้อ 5 มันก็โดนหมดอ่ะนะ ทั้งแอพ iOS เอย แอพ Mac เอย) ดำเนินการง่ายๆ ครับ นั่นคือ:
วิธีแก้: ให้ดาวน์โหลดไฟล์ Intermediate Certificate ใหม่ (Renew Certificate) ไปใช้งาน คลิกที่นี่
แล้วดูวิธีนำไฟล์ Intermediate Certificate ใหม่ไปใช้ตามรายชื่อบริการด้านล่าง
อาการหลังจาก Certificate หมดอายุ และวิธีแก้
ถ้าเกิดเราไม่ได้เอาไฟล์ Intermediate Certificate ใหม่ไปใช้ จะมีผลอะไรตามมา? และดำเนินการแก้ไขอย่างไร? มาดูไล่ไปเลย
1. Apple Wallet Passes
อาการ: หลังวันที่ 14 กุมภาพันธ์ ตัว Apple Wallet จะไม่สามารถติดตั้ง Passes ใหม่ๆ เพิ่มเติมได้
วิธีแก้ไข: ให้ใช้ไฟล์ Intermediate Certificate ใหม่ ไปวางไว้ที่ Pass Signing Server แทนอันเก่า (อันเก่าลบทิ้งไปเลย)
2. Mac Apps
อาการ: แอพ Mac ที่ติดตั้งจาก Mac App Store จะเปิดไม่ขึ้น (เปิดแล้ว Crash)
วิธีแก้ไข:
- สำหรับคนใช้: ต้องอัพเดตเวอร์ชั่น OS X ให้มากกว่าหรือเท่ากับ 10.11.2+, คนใช้ Snow Leopard ต้องอัพเดต Mac App Store เป็นเวอร์ชั่นล่าสุด
- สำหรับนักพัฒนา: ให้ดาวน์โหลด และติดตั้งไฟล์ Intermediate Certificate ใหม่ เพื่อใช้ในการ build ไฟล์แอพในการทดสอบ และส่งขายจริง
3. Safari Extension
วิธีแก้ไข: ติดตั้งไฟล์ Intermediate Certificate ใหม่ลงไปใน Safari Extension
4. Safari Push Notification
อาการ: คนทั่วไปจะไม่สามารถสมัครรับ Notification จากบริการของเราได้
วิธีแก้ไข: ให้ใช้ไฟล์ Intermediate Certificate ใหม่ ไปวางไว้ที่ Notification Package Signing Server แทนอันเก่า
5. App Store Submissions (การส่งแอพพลิเคชั่นขึ้น App Store)
อาการ: แอพที่ส่งขึ้น App Store, Mac App Store, Apple Store for Apple TV จะถูกตีกลับ
วิธีแก้ไข:
- ให้ดาวน์โหลด และติดตั้งไฟล์ Intermediate Certificate ใหม่ เพื่อใช้ในการ build ไฟล์แอพส่งขึ้น Store
- เปิดโปรแกรม Keychain และทำการลบไฟล์ Intermediate Certificate อันที่หมดอายุทิ้งไป
คำถาม – ตอบที่สำคัญ
นอกจากนั้น โค้ชพลแนะนำให้อ่านรายละเอียดเพิ่มเติมด้านล่าง เพื่อเช็คว่าต้องทำอะไรกับส่วนอื่นๆ อีกไหม
A. ฉันต้องสร้างไฟล์ Certificate อื่นๆ ไหม? (Regenerate Certificates)
ไม่ต้อง ไฟล์ Certificate อื่นๆ จะทำงานได้กับ ไฟล์ Intermediate Certificate ใหม่ และที่หมดอายุไปแล้ว ต้องนี้ไม่ต้องไปกด Revoke อะไรนะ
B. ฉันต้อง compile แอพใหม่ หรือส่งแอพไปที่ Store ใหม่ไหม? (Recompile or Resubmit App)
ไม่ต้อง แอพพลิเคชั่นที่มีอยู่ใน Store อยู่แล้วจะทำงานได้ตามปกติ ไม่มีปัญหา
แต่ถ้าเราต้องการสร้างไฟล์แอพสำหรับการใช้งานจริง (Distribution) ไปที่ App Store, Mac App Store, และ Apple Store for Apple TV หลังวันที่ 14 กุมภาพันธ์ ต้องใช้ไฟล์ Intermediate Certificate ใหม่
C. ผู้ใช้จะได้รับผลกระทบจากปัญหานี้ไหม?
ไม่ได้รับ ผู้ใช้ที่ซื้อ และติดตั้งแอพตามขั้นตอนปกติจะไม่มีรับผลจากการหมดอายุ และการติดตั้งใหม่นี้
ส่วนเรื่องแอพที่ดาวน์โหลดจาก Mac App Store ก็แก้ปัญหาโดยการอัพเดตไปตามวิธีด้านบนครับ
D. แล้วแอพที่กำลังพัฒนาอยู่จะมีปัญหาไหม?
ไม่มี แอพพลิเคชั่นที่เรากำลังเขียนอยู่ในเครื่องจะสามารถทำงานได้จนถึงการหมดอายุของ provision profile หรือพวกเราไปกด revoke Signing Certificate ตามปกติ
E. แล้วแอพ in-house Enterprise ที่ใช้งานอยู่ จะมีปัญหาไหม?
ไม่มี แอพพลิเคชั่นแบบ in-house หรือ Enterprise ที่ปล่อยให้ใช้งานแล้ว จะสามารถทำงานได้จนถึงการหมดอายุของ provision profile หรือพวกเราไปกด revoke Signing Certificate ตามปกติ
F. Certificate ใหม่จะหมดอายุอีกเมื่อใด?
Apple แจ้งว่าไฟล์ Certificate ตัวใหม่นี้ จะหมดอายุ 7 กุมภาพันธ์ ค.ศ. 2023 หรืออีกประมาณ 7-8 ปี
G. ถ้าทำแล้วเครื่องยังมอง Certificate หมดอายุจะทำอย่างไร
สำหรับคนที่ดาวน์โหลด Certificate มาใหม่แล้ว ยังเจอกรณีนี้ ให้ลองรีสตาร์ทเครื่องใหม่ ระบบน่าจะเห็นเป็น Certificate ใหม่แล้ว ขอบคุณ คุณ ชรินทร์ อำพนพิศลย์ ที่แจ้งเข้ามาทางแฟนเพจ
สรุป
เอาเป็นว่ายังไงเราก็ต้องทำการดาวน์โหลด ตัว Intermediate Certificate มาติดตั้ง และใช้งานกับระบบของเราอยู่ดี
ผลกระทบของเจ้า Intermediate Certificate ที่หมดอายุก็มี 5 บริการด้วยกัน
- Apple Wallet Passes
- Mac Apps
- Safari Extension
- Safari Push Notification
- App Store Submissions (การส่งแอพพลิเคชั่นขึ้น App Store)
โดยเฉพาะคนทำแอพ iOS อยู่นี่ ต้องทำกันถ้วนหน้า (ไม่งั้นจะส่งแอพขึ้น Store กันยังไงล่ะเนอะ)
ขายของ คอร์สออนไลน์ สร้าง Mobile App แบบ Cross-Platform ด้วย Angular 2 และ Ionic 2 ใกล้เสร็จในเดือนมีนาคมนี้แล้ว
ซื้อล่วงหน้า คลิกใช้รหัสลดราคา 62% ได้ที่นี่ หมดแล้วหมดเลยจ้า
Credit พี่เอ๊ด แห่ง EddyIndy.com ที่แจ้งข่าวนี้มาในกลุ่มครับ
อ้างอิง – Apple Developer, StackOverflow, Mtjsai.com, 9to5Mac
เหมาะสำหรับคนทำเว็บ, เริ่มต้น JavaScript ES6 และ Angular เข้าใจง่าย, ใช้ได้จริง สอบถาม หรือติดต่อจัดอบรมโทร 083-071-3373 โปรหน้าฝน! เรียนรอบสด รับคอร์สออนไลน์มูลค่ากว่า 5800 บาทฟรี!เปิดอบรมสร้าง Cross Platform Mobile Application ด้วย Ionic Framework