วิธีเทสแอพด้วย Testflight

การส่งแอพบนระบบ iOS ไปให้เทสเตอร์ทดสอบนั้นทำได้ค่อนข้างยาก เพราะจะต้องเอา UDID ของเครื่องของเทสเตอร์มาใส่ใน provisioning profile
หลังจากนั้นแล้วเรายังจะต้อง build แอพเป็นไฟล์ IPA และส่งไปยังเครื่องของเทสเตอร์
พอได้รับไฟล์แล้วเทสเตอร์จะต้องใช้ iPhone Configuration Utility หรือ iTunes ในการติดตั้งแอพลงบนเครื่อง
หรือง่ายสุดๆเลยคือผู้พัฒนาเอา device มาเสียบที่เครื่องแล้วเอา Xcode build+install ลงบน device ทีละตัว

สรุปคือมันไม่ได้ยาก แต่มันยุ่งยาก Testflight จึงได้ถูกพัฒนาขึ้นเพื่อแก้ปัญหานี้

Testflight คืออะไร

Testflight เป็นระบบแจกจ่ายแอพที่ถูกพัฒนาขึ้นโดย Burstly (ซึ่งถูกแอปเปิ้ลซื้อไปแล้วเมื่อเดือน ก.พ. 57) 
ด้วย Testflight ผู้พัฒนาสามารถที่จะ invite tester หรือ ผู้พัฒนาคนอื่นๆเข้ามาในทีม
ซึ่งสมาชิกในทีมสามารถที่จะเพิ่ม UDID ของอุปกรณ์ของตนลงไปในระบบได้
และระบบยังสามารถ detect ประเภทของอุปกรณ์ได้ด้วย เช่น
iPhone 5s CDMA+GSM  iOS 8.0
ซึ่งจะประหยัดเวลาของผู้พัฒนาไปได้มาก เพราะไม่ต้องบันทึก UDID และ device detail ของเทสเตอร์แต่ละคน

ขั้นตอนการติดตั้ง Testflight และติดตั้งแอพผ่าน Testflight

ในส่วนนี้เราจะแนะนำวิธีการสมัครและติดตั้งแอพผ่านระบบ Testflight กันครับ
โดยเราจะเน้นเฉพาะส่วนการติดตั้งและใช้งานเท่านั้นนะครับ หลักการเบื้องหลังเดี๋ยวจะยกไปพูดในอีกบทความนึง

1. แอดมินของทีมจะส่งเมลมาเชิญคุณเข้าเป็นสมาชิกของทีม 

2. เปิดเมลที่ได้รับด้วยแอพ Mail บนอุปกรณ์ iOS ของคุณ เช่น iPhone หรือ iPad
    (ต้องเปิดด้วยแอพ Mail ของ iOS เท่านั้นนะครับ ถ้าเปิดด้วยแอพเมลอื่น เช่น Gmail จะใช้ไม่ได้)

Testflight tutorial - invitation mail

3. เมื่อเปิดขึ้นมาแล้วให้กดปุ่ม Accept เพื่อตอบรับคำเชิญ

Testflight tutorial - accepting invitation

4. หลังจากที่กดแล้ว หน้าสมัครสมาชิกของ testflightapp.com จะถูกเปิดขึ้นมาด้วย Safari จะถูกเปิดขึ้นมา
    ให้กรอกรายละเอียดส่วนตัวลงไป
    (จริงๆแล้วถ้าคุณเป็นสมาชิก testflightapp.com อยู่แล้วก็แค่กด Accept Invitation ได้เลย
    แต่ถ้าคุณเป็นอยู่แล้วผมว่าคุณคงไม่อ่านมาถึงตรงนี้หรอกครับ)

Testflight tutorial - user registration    Testflight tutorial - user registration

5. หลังจากสมัครเสร็จแล้วระบบจะแจ้งว่าเราสามารถติดตั้งแอพจากทีมพัฒนาได้แล้ว (ในภาพคือ Isara Software)
    ให้กด View Apps

6. แต่ก่อนจะติดตั้งแอพ ระบบจะแจ้งให้เราเพิ่มอุปกรณ์เข้าไปในทีมก่อน
    ให้กด Connect Device

    ขั้นตอนนี้จะเป็นการ register รายละเอียดอุปกรณ์ของเรา (UDID และ spec) เข้าไปในระบบ
    รายละเอียดของอุปกรณ์นี้จะผูกกับ user ด้วย กล่าวคือระบบจะรู้ว่า tester คนใดเป็นเจ้าของอุปกรณ์ชิ้นใด

7. ให้กด Install เพื่อติดตั้ง Profile และกด Install Now เพื่อยืนยัน
     เมื่อดาวน์โหลดและติดตั้งเสร็จให้กด Done เพื่อปิดหน้าต่าง

    การจะส่งข้อมูลของเครื่องขึ้นไปในระบบได้นั้นจะต้องมีการยืนยันตัวตนของเว็บด้วย
    (หมายถึง testflightapp.com ต้องยืนยันตัวตนกับเครื่อง iPhone ของเราก่อน จึงจะส่งข้อมูลขึ้นไปได้)
    
การยืนยันตัวตนนี้จะทำผ่าน Profile ซึ่งเป็นไฟล์ที่ต้องติดตั้งลงบนเครื่อง

Testflight installation - Install profile    Testflight installation - Install profile    Testflight installation - profile verified

8. หน้าจอจะแจ้งว่า device ของเราเชื่อต่อกับ Testflight แล้ว
    กด View All Apps เพื่อติดตั้งแอพที่จะทดสอบ
    (ก่อนจะถึงหน้าแอพ คุณต้องกด Continue เพื่อยอมรับ Terms of Use ก่อน)

Testflight installation - device connected    Testflight installation - terms of use

9. ขั้นตอนสุดท้าย เลือกแอพที่ต้องการติดตั้งโดยการกดปุ่ม INSTALL และกด Install อีกครั้งเพื่อยืนยันการติดตั้ง
    แอพที่แสดงขึ้นมานี้จะเป็นแอพที่สามารถติดตั้งบนเครื่องของคุณได้เท่านั้น
    (เครื่องจะต้องอยู่ใน Provisioning Profile ที่ใช้ build แอพ) 
    ถ้าคุณงงตรงนี้ หรือแอพที่จะเทสไม่แสดงขึ้นมาให้สอบถามผู้พัฒนาของคุณครับ

Testflight installation - app selection    Testflight installation - app install confirmation

10. รอให้อุปกรณ์ของคุณดาวน์โหลดแอพและทำการติดตั้ง

11. ถ้ามีแอพเวอร์ชั่นใหม่ออกมา คุณจะได้รับเมลเตือนจาก Testflight เพื่อไปทำการดาวน์โหลดมาติดตั้งใหม่ได้
      แต่ในการอัพเดทนี้คุณไม่ต้อง connect device อีกแล้ว

สรุปวิธีการติดตั้ง Testflight

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

ตัวไฟล์ IPA (ไฟล์แอพ) และ Provision Profile ของแอพนั้นถูกสร้างขึ้นโดยผู้พัฒนาไม่ใช่ Testflight
โดยหลังจากที่ผู้พัฒนา build แอพเสร็จ เขาจะอัพโหลดไฟล์แอพขึ้นไปเก็บไว้ที่ server ของ Testflight
หลังจากอัพโหลดเสร็จผู้พัฒนาจะแจ้งให้เทสเตอร์ทุกคนทราบผ่านอีเมลว่ามีแอพเวอร์ชั่นใหม่ให้ไปดาวน์โหลดมาใช้ได้

ในโอกาสถัดไป ผมจะหาเวลามาแนะนำวิธีการใช้งาน Testflight ในมุมมองของผู้พัฒนาดูบ้างครับ
ชีวิตจะง่ายขึ้นเยอะ และไม่ต้องนั่ง build+install ผ่าน Xcode ให้ device ทุกตัวอีกต่อไป

Comments