สร้างแอป iOS ด้วย AI: กับดักและวิธีตรวจสอบ
โดย Mehdi Azizi
อัปเดตเมื่อ , 9 นาที
Claude, ChatGPT และ Cursor เขียนโค้ด iOS ได้เร็ว แต่พลาดเรื่อง signing, subscription, การรีวิวของ Apple และ iPhone จริง นี่คือวิธีตรวจทุกอย่าง
สร้างแอป iOS ด้วย AI: คำตอบสั้น ๆ
ได้ครับ คุณสร้างแอป iOS ด้วย AI ได้แม้จะเพิ่งเริ่มต้น วิธีสร้างแบบนี้มีชื่อเรียกว่า vibe coding Claude, ChatGPT หรือ Cursor เขียนหน้าจอ การนำทาง ลอจิกง่าย ๆ และการเรียกฐานข้อมูลได้ดีมาก สิ่งที่มันทำได้ไม่ดีคือทุกอย่างที่อยู่นอกโค้ด: การ signing แอป การตั้งค่า App Store Connect ระบบ subscription การรีวิวของ Apple และแอปแครชที่เกิดขึ้นเฉพาะบน iPhone จริงเท่านั้น
พูดอีกอย่างคือ AI ช่วยคุณประหยัดเวลาได้หลายสัปดาห์ในส่วนที่มองเห็นได้ชัดที่สุดของงาน แต่ปล่อยให้คุณเผชิญเองในส่วนที่ตัดสินว่าแอปของคุณจะได้ออกสู่สายตาคนอื่นหรือไม่ บทความนี้จะชี้ให้เห็นว่าเส้นแบ่งอยู่ตรงไหน วิธีชี้นำ AI ให้ยังมีประโยชน์ และวิธีตรวจสอบสิ่งที่มันสร้างขึ้น ก่อนที่ Apple หรือผู้ใช้ของคุณจะเจอแทนคุณ
ผมเขียนแอป iOS ของตัวเองด้วย Claude และ Cursor ทุกวัน Solys นาฬิกาปลุกที่มีมินิเกม และ TradaZen แอปจำลองการเทรด อยู่บน App Store แล้ว ส่วน Nolera และ Clic เคยถูก Apple ปฏิเสธ แล้วผมก็แก้ไขจนผ่าน ทุกอย่างต่อจากนี้มาจากงานจริง ไม่ใช่เดโม ถ้าคุณยังลังเลเรื่องเครื่องมือ ผมเปรียบเทียบ Claude Code, Cursor และ ChatGPT สำหรับแอป iPhone ไว้ในอีกบทความหนึ่ง
สิ่งที่ AI ทำได้ดีจริง ๆ
หน้าจอและการนำทาง
อธิบายหน้าจอให้ละเอียด (แสดงอะไร ปุ่มแต่ละปุ่มทำอะไร เกิดอะไรขึ้นเมื่อรายการว่าง) แล้ว AI จะคืนคอมโพเนนต์ที่เรียบร้อยให้ภายในไม่กี่วินาที นี่คือจุดที่ได้ประโยชน์ชัดเจนที่สุด โดยเฉพาะกับ React Native และ Expo เพราะ AI เคยเห็นโค้ดแบบนี้มาเยอะมาก นี่ก็เป็น stack ที่ผมใช้กับทุกแอป และผมอธิบายเหตุผลไว้ในหน้า React Native และ Expo สำหรับแอปมือถือ
ลอจิกทางธุรกิจแบบง่าย
คำนวณคะแนน เรียงรายการ จัดรูปแบบวันที่ ตรวจฟอร์ม: AI ทำได้เร็วและค่อนข้างดี ถ้าคุณบอกกรณีขอบ (edge case) ให้มันด้วย เช่น รายการว่าง ช่องที่ยาวเกินไป วันที่ในอีกเขตเวลาหนึ่ง ถ้าคุณไม่ระบุ มันก็ไม่ได้จัดการให้เสมอไป
อธิบายสิ่งที่คุณไม่เข้าใจ
นี่คือการใช้งานที่คนมองข้ามมากที่สุด วางข้อความ error ชิ้นส่วนการตั้งค่า หรือข้อความปฏิเสธจาก Apple แล้วสั่งว่า "อธิบายให้ฟังหน่อยว่าหมายความว่าอะไร ยังไม่ต้องแก้" คุณจะเรียนรู้ได้เร็วกว่าอ่านบทเรียน เพราะคำอธิบายพูดถึงโปรเจกต์ของคุณเอง
การเชื่อมต่อ backend
สร้างตารางใน Supabase เขียนฟังก์ชันที่อ่านข้อมูลของผู้ใช้ที่ล็อกอินอยู่ จัดการสถานะกำลังโหลด: AI รู้จักเครื่องมือพวกนี้ดี แค่ต้องคอยระวังเรื่องความปลอดภัย ซึ่งเดี๋ยวจะพูดถึงด้านล่าง
สิ่งที่ AI พลาดเมื่อคุณสร้างแอป iOS
นี่คือส่วนที่ไม่มีใครโชว์ในคลิป "ผมสร้างแอปในหนึ่งสุดสัปดาห์" แต่ละข้อสามารถบล็อกการเผยแพร่ของคุณได้หลายวัน ยังไม่นับการตรวจอัตโนมัติตอนอัปโหลด เช่น ITMS-90338 สำหรับ API ที่ไม่เปิดเผยต่อสาธารณะ
Signing และใบรับรอง
ถ้าจะรันบน iPhone และขึ้น App Store แอปของคุณต้อง signing ด้วยใบรับรองและ provisioning profile ที่ผูกกับบัญชี Apple Developer ของคุณ AI อธิบายหลักการได้ แต่มันไม่รู้จักบัญชีของคุณถ้าไม่ได้รับสิทธิ์เข้าถึง บางครั้งมันแต่งขั้นตอนที่ไม่มีอยู่แล้วขึ้นมา หรือปนวิธีของ Xcode กับวิธีของ Expo เข้าด้วยกัน ซึ่งอาจจบที่ ITMS-90034 ตอนอัปโหลด ถ้าใช้ EAS Build เครื่องมือจะสร้างและจัดเก็บไฟล์เหล่านี้ให้คุณ รวมถึง push key ด้วย ปล่อยให้มันทำไป ดีกว่าทำตามขั้นตอนที่เดาเอา
การตั้งค่า App Store Connect
หน้ารายละเอียดแอป bundle identifier การประกาศเรื่องความเป็นส่วนตัว คำถามเรื่องการเข้ารหัส ภาพหน้าจอ ลิงก์ไปยังข้อกำหนดการใช้งาน: ข้อมูลเหล่านี้ต้องตรงกับเวอร์ชันที่ส่ง agent บางตัวทำงานในเบราว์เซอร์ที่ล็อกอินอยู่ได้ เช่น Claude Code กับ Chrome แต่การเข้าถึงนี้ต้องได้รับอนุญาต และต้องตรวจผลลัพธ์ด้วย ขั้นตอนที่ท่องมาโดยไม่ได้อ่านหน้าจอปัจจุบันอาจล้าสมัยไปแล้ว
ระบบ subscription
นี่คือจุดที่ AI ทำให้คุณเสียเวลามากที่สุด โค้ดของ paywall นั้นง่าย สิ่งที่ยากคือความสอดคล้องกันระหว่างสามที่: สินค้าที่สร้างใน App Store Connect การตั้งค่าใน RevenueCat และโค้ดที่แสดงผล identifier ที่ต่างกันแค่ตัวอักษรเดียว หรือสินค้าที่ยังไม่ได้ส่งรีวิวพร้อมเวอร์ชัน แล้ว paywall ของคุณก็จะแสดงว่างเปล่าตอนที่ reviewer เปิดดู AI อ่านคอนโซลเหล่านี้ได้ถ้าคุณให้สิทธิ์เข้าถึงที่เหมาะสม ถ้าไม่มีสิทธิ์นั้น มันก็ตรวจไม่ได้ว่าสอดคล้องกับโค้ดหรือไม่ งานทั้งหมดมีรายละเอียดในหน้า ระบบ subscription ในแอป iOS
การรีวิวของ Apple
AI รู้ภาพรวมของ App Review Guidelines แต่มันมองแอปของคุณด้วยสายตาของ reviewer ไม่เป็น มันจะไม่บอกคุณเองว่าหน้าจอที่จำเป็นถูกตัดบน iPhone จอเล็ก ว่าการขอให้รีวิวแอปโผล่เร็วเกินไป ว่าขาดบัญชีทดลองใน notes สำหรับการรีวิว หรือว่าแอปของคุณดูเหมือนเว็บไซต์เกินไปจนติด guideline 4.2 สองข้อแรกคือการปฏิเสธที่ผมเจอจริงกับ Solys เล่าไว้ใน ทำไม Apple ถึงปฏิเสธแอป
แอปแครชบน iPhone จริง
simulator และแอปโหมดพัฒนายอมให้อภัยหลายอย่าง แต่ iPhone จริงใน production ไม่ native module ที่หายไปจาก build, permission ที่ไม่มีข้อความอธิบาย, การอ่านข้อมูลเร็วเกินไปตอนเปิดแอป: แอปเปิดขึ้นแล้วปิดทันที ไม่มีข้อความใด ๆ agent รันเทสต์หรือวิเคราะห์ภาพหน้าจอได้ แต่เฉพาะเมื่อระบบตรวจสอบรองรับเท่านั้น ผลจาก simulator อย่างเดียวไม่ได้ยืนยันว่า binary ที่ติดตั้งบน iPhone ของคุณใช้ได้ เป็นหน้าที่ของคุณที่ต้องติดตั้งแอปบนโทรศัพท์ก่อนส่งทุกครั้ง และ TestFlight มีไว้เพื่อสิ่งนี้
AI เขียนโค้ดที่ดูเหมือนถูกต้อง มีแค่การทดสอบบน iPhone ของคุณเท่านั้นที่บอกได้ว่ามันถูกจริงหรือไม่
วิธีชี้นำ AI ให้ยังมีประโยชน์
ปัญหาแทบไม่เคยอยู่ที่ความฉลาดของโมเดล แต่อยู่ที่สิ่งที่คุณให้มันอ่าน
ให้บริบทกับมัน ครั้งเดียวจบ
เขียนไฟล์สั้น ๆ ไว้ที่รากของโปรเจกต์ อธิบาย stack ของคุณ (Expo, เวอร์ชัน SDK, Supabase, RevenueCat) โครงสร้างโฟลเดอร์ และกฎของคุณ Claude Code อ่านไฟล์ CLAUDE.md ส่วน Cursor มีไฟล์กฎของตัวเอง ถ้าไม่มีบริบทนี้ AI จะเดา และมักเดาเป็น stack อื่นที่ไม่ใช่ของคุณ บทเรียนสร้างแอปด้วย Claude Code ของผมมีตัวอย่างไฟล์นี้แบบครบถ้วน
แบ่งเป็นงานเล็ก ๆ
"สร้างแอปติดตามนิสัยพร้อม subscription ให้หน่อย" จะได้โปรเจกต์ใหญ่โตและเปราะบาง "สร้างหน้าจอที่แสดงรายการนิสัยของวันนี้ พร้อมสถานะว่างและสถานะกำลังโหลด" จะได้หน้าจอที่คุณอ่านทวนและทดสอบได้ในห้านาที งานหนึ่งชิ้น ผลลัพธ์ที่ตรวจได้ แล้วค่อยไปชิ้นต่อไป
ขอแผนก่อนเขียนโค้ด
สำหรับทุกอย่างที่แตะหลายไฟล์ เริ่มด้วย "เสนอแผนมาก่อน ยังไม่ต้องเขียนโค้ด" คุณอ่านแผน แก้สิ่งที่ไม่ถูก แล้วค่อยสั่งลุย วิธีนี้ช่วยเลี่ยงการรื้อใหม่แบบไม่ทันตั้งตัว ที่ AI เขียนโปรเจกต์ใหม่ครึ่งหนึ่งเพียงเพื่อเพิ่มปุ่มเดียว
ให้มันอ่านเอกสารฉบับล่าสุด
เครื่องมือเปลี่ยนเร็ว: Expo, RevenueCat และ App Store Connect เปลี่ยนอยู่เป็นประจำ เมื่อคำตอบดูน่าสงสัย ให้วางหน้าเอกสารทางการลงในบทสนทนา หรือใช้เครื่องมือที่ส่งเอกสารให้มัน AI ที่อ่านเอกสารของวันนี้ผิดพลาดน้อยกว่า AI ที่จำเอกสารเมื่อสองปีก่อนมาก
คุมการตัดสินใจไว้เอง
AI เสนอ คุณตัดสินใจ การเลือกไอเดีย ราคา และสิ่งที่แอปจะไม่ทำ: นั่นคืองานของคุณ ถ้าคุณปล่อยให้ AI เพิ่มทุกฟีเจอร์ที่มันแนะนำ คุณจะได้แอปที่ทำสิบอย่างแบบพอใช้ แทนที่จะทำอย่างเดียวได้ดีมาก ถ้าจะวางกรอบเวอร์ชันแรก อ่านหน้า MVP แอป iOS
วิธีตรวจสอบสิ่งที่ AI สร้าง
นี่คือทักษะที่แยกคนที่เผยแพร่แอปได้ ออกจากคนที่สะสมโปรเจกต์ค้างครึ่ง ๆ กลาง ๆ
อ่านทวนทุกการเปลี่ยนแปลง
คุณไม่จำเป็นต้องเข้าใจทุกบรรทัด แต่ต้องตอบสามคำถามนี้ได้: ไฟล์ไหนเปลี่ยน ทำไม และตรงกับที่ขอไหม ถ้า AI ไปแตะไฟล์ที่ไม่เกี่ยวกับคำขอของคุณ ให้ถามมันว่าทำไมก่อนจะยอมรับ
ทดสอบบน iPhone ของคุณ ไม่ใช่แค่บนคอมพิวเตอร์
ติดตั้งแอปบนโทรศัพท์ของคุณเองให้เร็วที่สุด แล้วทำซ้ำในทุกขั้นตอนสำคัญ ตรวจการเปิดครั้งแรกหลังติดตั้ง โหมดเครื่องบิน จอเล็กและจอใหญ่ และแป้นพิมพ์ที่เปิดอยู่บนฟอร์ม นี่คือกฎที่ผมใช้ก่อนส่ง Apple ทุกครั้ง กับทุกแอปของผม
เพิ่มเครื่องมือที่เห็นสิ่งที่คุณมองไม่เห็น
ในแอปของผม Sentry รายงานแครชพร้อมบรรทัดโค้ดที่เป็นต้นเหตุ และ PostHog แสดงว่าผู้ใช้เลิกใช้ตรงไหน ถ้าไม่มีมัน บั๊กใน production จะมองไม่เห็นจนกว่าจะมีรีวิวแย่ ๆ โผล่มา AI ช่วยคุณติดตั้งได้ แต่คุณต้องเป็นคนดูว่ามันบอกอะไร
ระวังความปลอดภัยของข้อมูล
เมื่อ AI สร้างตารางใน Supabase ให้ตรวจว่ากฎการเข้าถึง (นโยบาย RLS) เปิดใช้งานอยู่จริง: ผู้ใช้แต่ละคนต้องอ่านได้เฉพาะข้อมูลของตัวเอง และตรวจด้วยว่าไม่มี secret key หลุดไปอยู่ในโค้ดของแอป ซึ่งถูก decompile ได้ นี่คือสองข้อผิดพลาดที่ AI ทำได้ง่ายถ้าคุณไม่ห้ามมันไว้
ถามคำถามกลับด้าน
เมื่อเขียนโค้ดเสร็จ ให้ถามว่า "ตรงนี้มีอะไรพังได้บ้าง?" หรือ "อ่านโค้ดนี้แบบที่ reviewer ของ Apple อ่าน" โมเดลตัวเดียวกับที่เขียนโค้ดมักเจอสิ่งที่ตัวเองลืมเมื่อคุณเปลี่ยนมุมของคำถาม มันไม่ได้แทนการทดสอบบน iPhone แต่ช่วยลดการส่งกลับไปกลับมา
เส้นทางที่เป็นจริงสำหรับมือใหม่
- เลือกไอเดียเล็กจิ๋ว: ฟังก์ชันหลักหนึ่งอย่าง ไม่ใช่สิบ
- ติดตั้ง stack ที่ AI รู้จักดี: Expo, React Native และ Supabase ถ้าคุณต้องมีระบบบัญชีผู้ใช้
- สร้างทีละหน้าจอ โดยสั่งงานเล็ก ๆ หนึ่งชิ้นต่อคำขอ และทดสอบทุกขั้นตอน
- ทดสอบบน iPhone ของคุณ ด้วย development build แล้วตามด้วย TestFlight
- เชื่อมระบบรายได้: สินค้าใน App Store Connect, RevenueCat, paywall
- เตรียมเอกสาร App Store: หน้ารายละเอียด ภาพหน้าจอ ความเป็นส่วนตัว notes สำหรับ reviewer
- ส่งให้ Apple อ่านคำตอบให้ละเอียด แล้วแก้ตามที่ขอ
ทุกขั้นตอนมีกับดักของมัน และ AI ช่วยคุณได้ครึ่งหนึ่ง สำหรับภาพรวม หน้า สร้างแอป iPhone อธิบายเส้นทางทั้งหมดไว้ และถ้าคุณสงสัยว่าจะไปได้ไกลแค่ไหนโดยไม่ต้องเขียนโค้ดเองสักบรรทัด อ่าน สร้างแอปโดยไม่ต้องเขียนโค้ด
สร้างแอป iOS ของคุณด้วย AI จนถึง App Store
AI เปลี่ยนว่าใครบ้างที่สร้างแอป iOS ได้ แต่มันไม่ได้เปลี่ยนสิ่งที่ Apple กำหนดเพื่อให้เผยแพร่ได้ หรือสิ่งที่ต้องมีเพื่อให้แอปเก็บเงินค่า subscription ก้อนแรกได้ นี่คือส่วนที่ผมใส่ไว้ใน iOS Kit: โค้ดเริ่มต้นของแอปผม รวมระบบ subscription และ skills ของ Claude Code สำหรับทุกขั้นตอน เส้นทางมีรายละเอียดตามเครื่องมือที่คุณใช้: คอร์ส Claude Code หรือ คอร์ส vibe coding หน้าแรกแสดงวิธีสร้างแอปมือถือแบบนี้ทีละขั้นตอน
ไม่แน่ใจว่าอะไรที่ทำให้คุณติดอยู่ ระหว่างโค้ด AI และ Apple? การวินิจฉัยฟรี จะบอกคุณ และส่งเช็กลิสต์กันโดน Apple ปฏิเสธของผมให้ด้วย
ผมไม่ได้สัญญาว่าคุณจะมีรายได้หรือได้เผยแพร่แอป: Apple เป็นคนตัดสินว่าจะอนุมัติหรือไม่ และตลาดเป็นคนตัดสินส่วนที่เหลือ สิ่งที่ผมให้คุณได้คือวิธีที่ผมใช้กับแอปของตัวเอง
คำถามที่พบบ่อย
มือใหม่สร้างแอป iOS ด้วย AI ได้ไหม?
ได้ครับ AI เขียนหน้าจอ การนำทาง ลอจิกง่าย ๆ และการเรียกฐานข้อมูลได้ดีมาก แต่ทำได้ไม่ดีกับทุกอย่างที่อยู่นอกโค้ด เช่น signing, App Store Connect, ระบบ subscription, การรีวิวของ Apple และแอปแครชที่เห็นได้เฉพาะบน iPhone จริง
ควรใช้ AI ตัวไหนสร้างแอป iOS?
Claude, ChatGPT หรือ Cursor เขียนหน้าจอ การนำทาง และลอจิกง่าย ๆ ได้ดีมาก ปัญหาแทบไม่เคยอยู่ที่ความฉลาดของโมเดล แต่อยู่ที่สิ่งที่คุณให้มันอ่าน ให้ stack กฎของคุณ และเอกสารฉบับล่าสุดกับมัน ผมเปรียบเทียบ Claude Code, Cursor และ ChatGPT สำหรับแอป iPhone ไว้ในอีกบทความหนึ่ง
ChatGPT สร้างแอปได้ไหม?
ได้สำหรับส่วนที่มองเห็น: ChatGPT ก็เหมือน Claude หรือ Cursor ที่เขียนหน้าจอ การนำทาง ลอจิกง่าย ๆ และการเรียกฐานข้อมูลได้ดีมาก แต่มันไม่รู้จักบัญชี Apple ของคุณถ้าไม่ได้รับสิทธิ์เข้าถึง และมันไม่ได้มองแอปของคุณด้วยสายตาของ reviewer มีแค่การทดสอบบน iPhone ของคุณเท่านั้นที่บอกได้ว่าโค้ดถูกต้องหรือไม่
สร้างแอปของตัวเองด้วย AI ทีละขั้นตอนอย่างไร?
เลือกไอเดียเล็กจิ๋วที่มีฟังก์ชันหลักเพียงอย่างเดียว ติดตั้ง stack ที่ AI รู้จักดี: Expo, React Native และ Supabase ถ้าคุณต้องมีระบบบัญชีผู้ใช้ สร้างทีละหน้าจอ โดยสั่งงานเล็ก ๆ หนึ่งชิ้นต่อคำขอและทดสอบทุกขั้นตอน ทดสอบบน iPhone ของคุณด้วย development build แล้วตามด้วย TestFlight ก่อนจะเชื่อมระบบรายได้ เตรียมเอกสาร App Store และส่งให้ Apple
ตรวจสอบโค้ดที่ AI เขียนอย่างไร?
อ่านทวนทุกการเปลี่ยนแปลง: ไฟล์ไหนเปลี่ยน ทำไม และตรงกับที่คุณขอหรือไม่ ติดตั้งแอปบน iPhone ของคุณเองให้เร็วที่สุด แล้วทำซ้ำในทุกขั้นตอนสำคัญ ตรวจว่ากฎการเข้าถึงของ Supabase หรือนโยบาย RLS เปิดใช้งานอยู่ และตรวจด้วยว่าไม่มี secret key หลุดไปอยู่ในโค้ดของแอป ซึ่งถูก decompile ได้
ทำไม paywall ที่ AI เขียนถึงแสดงว่างเปล่าตอน reviewer เปิดดู?
โค้ดของ paywall นั้นง่าย ส่วนที่ยากที่สุดคือความสอดคล้องกันระหว่างสามที่: สินค้าใน App Store Connect การตั้งค่าใน RevenueCat และโค้ดที่แสดงผล identifier ที่ต่างกันแค่ตัวอักษรเดียว หรือสินค้าที่ยังไม่ได้ส่งรีวิว ทำให้ paywall ว่างเปล่าได้ ถ้าไม่มีสิทธิ์เข้าถึงคอนโซลเหล่านี้อย่างเหมาะสม AI ก็ตรวจความสอดคล้องนี้ไม่ได้