หน้าแรก > บทความ
Godot คืออะไร? ส่งแอปมือถือที่ทำด้วย Godot และ AI ขึ้น iPhone โดยไม่มี Mac
- สภาพแวดล้อม
- Godot 4.5, Codemagic (เครื่อง macOS เสมือน), Xcode 26.2 และเกมทดสอบบน Windows
- ทดสอบเมื่อ
- 2026-11-07
- ยังไม่ได้ตรวจ
- GitHub Actions, Xcode Cloud, บริการรับทำแบบเสียเงิน และวิธีสร้างไฟล์สำหรับ iPhone จาก Windows ล้วน ๆ
- อ่านแหล่งอ้างอิง
- 2026-11-11
สรุปก่อน: Godot เป็นโปรแกรมทำเกมที่ใช้ฟรี แต่ตามเอกสารทางการ การส่งออกเกมสำหรับ iOS ต้องทำบนเครื่อง Mac ที่ติดตั้ง Xcode (โปรแกรมของ Apple สำหรับสร้างแอป iPhone) เราไม่มี Mac จึงให้ Codemagic (บริการเครื่อง Mac บนคลาวด์) ทำส่วนส่งออกและเซ็นชื่อ (ลงลายเซ็นดิจิทัลตามที่ Apple กำหนด) ให้ แล้วส่งถึง App Store Connect (เว็บของ Apple ที่รับแอปก่อนขึ้นร้าน และเชื่อมกับ TestFlight ซึ่งเป็นระบบแจกเวอร์ชันทดลองก่อนปล่อยจริง) ได้สำเร็จ ระหว่างทางพังหลายครั้ง บทความนี้เรียงสิ่งที่พังตามวันและเวลา
Godot คืออะไร
Godot Engine เป็นโปรแกรมทำเกม (game engine) ตามหน้าใบอนุญาตของ Godot (godotengine.org/license อ่านเมื่อ 2026-11-11) เป็นซอฟต์แวร์เสรีและโอเพนซอร์สภายใต้ใบอนุญาต MIT เราใช้ GDScript (ภาษาเขียนโค้ดของ Godot) เขียนแอป และงานเขียนโค้ดส่วนใหญ่ให้ AI ทำ ถ้าอยากเริ่มจากศูนย์ มีบทเรียนทางการเรื่องเกม 2D เกมแรกที่ docs.godotengine.org (เป็นภาษาอังกฤษ)
เราค้นหาบทความแนะนำ Godot ภาษาไทยหลายครั้งแล้วไม่พบ แต่เครื่องมือค้นหาของเรามีข้อจำกัด จึงไม่ขอสรุปว่าไม่มี
ปัญหาของคนไม่มี Mac
เอกสารทางการเรื่องการส่งออกสำหรับ iOS ระบุว่าต้องส่งออกจากคอมพิวเตอร์ที่รัน macOS และติดตั้ง Xcode (หน้าเอกสาร อ่านเมื่อ 2026-11-11 หน้าที่เปิดเป็นเอกสารของ Godot 4.7 ส่วนเราใช้ 4.5 และยังไม่ได้เปิดหน้าของ 4.5) เราจึงไม่ได้พยายามหาวิธีส่งออกจาก Windows แต่ใช้ Codemagic แทน แพ็กเกจฟรีที่เราใช้มีเวลาให้ 500 นาทีต่อเดือน (ตัวเลข ณ ตอนที่เราใช้ อาจเปลี่ยนได้ ควรเช็กหน้าทางการ)
สิ่งที่พังตามวันและเวลา
| วัน เวลา (2026, เวลาญี่ปุ่น) | เกิดอะไรขึ้น | สาเหตุและวิธีแก้ |
|---|---|---|
| 6 พ.ย. 18:37 | บิลด์พังภายใน 1 นาที 1 วินาที | สคริปต์ในคู่มือส่งตัวเลือก --export-pack ซึ่งไม่มีในเครื่องมือที่เราใช้ ไม่ใช่ปัญหาของ Apple แต่คู่มือกับเครื่องมือไม่ตรงกัน |
| 6 พ.ย. 19:22 | แก้แล้วสำเร็จ ส่งถึง App Store Connect (19:19) | แก้อาร์กิวเมนต์ของสคริปต์ |
| 7 พ.ย. 00:29 | เกมอีกเกมก็เซ็นชื่อและอัปโหลดสำเร็จ ใช้ 14 นาที 36 วินาที | ใช้ขั้นตอนเดียวกันได้ |
| 7 พ.ย. 02:29 | การทดสอบบนซิมูเลเตอร์ (โปรแกรมจำลอง iPhone บน Mac) พัง | ไฟล์ libgodot.a ของ Godot รองรับสถาปัตยกรรม x86_64 (ชิปแบบเดิม) อย่างเดียว แต่เครื่อง Mac ของ Codemagic เป็น Apple Silicon (ชิปรุ่นใหม่ของ Apple) เราเพิ่มการตรวจเพื่อหาสาเหตุ |
| 7 พ.ย. 02:53 | Xcode 26.2 ไม่มีตัวเลือกปลายทางสำหรับซิมูเลเตอร์แบบ x86_64 | เทมเพลตทางการใช้ทดสอบบนซิมูเลเตอร์ไม่ได้ เราเลิกใช้ซิมูเลเตอร์ และเหลือแค่บิลด์ที่เซ็นชื่อ |
สิ่งที่เรียนรู้
- บิลด์ที่พังก็ถูกหักนาทีเหมือนกัน การสั่งบิลด์เล่น ๆ เพื่อทดลอง เสียเวลาในโควตา แต่ไม่ได้อะไร เราจึงเลือกส่งบิลด์เฉพาะตอนที่ตั้งใจจะส่งจริง
- ตรวจบนเครื่องตัวเองก่อน เราเพิ่มชุดตรวจที่รันบนพีซีก่อนกดบิลด์ ชุดตรวจนี้พบปัญหา 22 รายการในบิลด์ 1.0(5) และผ่านทั้งหมดในเวอร์ชันที่แก้แล้ว 1.0(6) (7 พ.ย. 21:20 เวลาญี่ปุ่น)
- ถ้าแก้โค้ดแล้วไม่เปลี่ยน ให้ดูฝั่งผู้ให้บริการ (Apple/Codemagic) เช่น ค้นดูว่าปัญหาเดียวกันเป็นที่รู้กันอยู่แล้วหรือไม่ แล้วค่อยกลับมาสงสัยโค้ดตัวเอง
ลองทำตามถ้าอยากเริ่ม
- ติดตั้ง Godot จากเว็บทางการ แล้วทำเกมเล็ก ๆ ให้รันบนคอมพิวเตอร์ได้ก่อน
- ถ้าจะส่งขึ้น iPhone ให้เช็กเอกสารทางการเรื่อง iOS ก่อนว่าต้องใช้อะไร
- จดเวลาและข้อความผิดพลาดของทุกบิลด์ เหมือนตารางด้านบน จะไล่สาเหตุได้ง่ายขึ้น
สิ่งที่ยังไม่ได้ตรวจ
แอปที่ส่งด้วยวิธีนี้คือ 玉ころ (Tamakoro) เป็นแอปสุ่มเลือกและจับลำดับ ของผู้ดูแลเว็บนี้ ตอนนี้ปล่อยเฉพาะ App Store ของญี่ปุ่น
ดูบน App Store (ญี่ปุ่น)บทความนี้เป็นบันทึกประสบการณ์ของผู้ดูแล ไม่ใช่คำแนะนำเฉพาะบุคคล ราคา เงื่อนไข และฟีเจอร์ของบริการต่าง ๆ เปลี่ยนได้ ควรตรวจสอบกับหน้าทางการก่อนตัดสินใจ
อัปเดตล่าสุด: 2026-11-11