อัปเดตแอป iOS: ขั้นตอนและการปล่อยแบบทยอย 7 วัน
โดย Mehdi Azizi
เผยแพร่เมื่อ , 10 นาที
อัปเดตแอป iOS: สร้างเวอร์ชันใหม่ แนบบิลด์ใหม่ เขียนข้อความ “มีอะไรใหม่” แล้วเลือกปล่อยเอง ปล่อยอัตโนมัติ หรือทยอยปล่อยใน 7 วัน
ถ้าจะปล่อยอัปเดตแอป iOS คุณต้องสร้างเวอร์ชันใหม่ใน App Store Connect โดยใช้หมายเลขที่สูงกว่าเดิม แนบบิลด์ใหม่ เขียนข้อความ “มีอะไรใหม่” (What's New) แล้วส่งให้ App Review ทุกเวอร์ชันใหม่ต้องผ่านการรีวิวของ Apple อีกรอบ ต่อให้เป็นแค่การแก้บั๊กเล็ก ๆ ก็ตาม ก่อนส่ง คุณต้องเลือกว่าหลังได้รับอนุมัติแล้วจะปล่อยแบบไหน: ปล่อยเอง ปล่อยทันที ปล่อยไม่ก่อนวันที่กำหนด หรือทยอยปล่อยใน 7 วัน
การทยอยปล่อยมีผลเฉพาะกับการอัปเดตอัตโนมัติเท่านั้น: วันแรก 1% ของผู้ใช้กลุ่มนี้ และครบทุกคนในวันที่เจ็ด คุณหยุดชั่วคราวได้รวมสูงสุด 30 วัน หรือจะปล่อยให้ทุกคนทีเดียวเลยก็ได้ คู่มือนี้อ้างอิงหน้าช่วยเหลือของ Apple ที่ผมอ่านทวนเมื่อวันที่ 3 พฤศจิกายน 2026
ผมปล่อยอัปเดตแอป iOS ของผมด้วย Expo และ EAS รวมถึง Solys, TradaZen และ Nolera กรณีตัวอย่างด้านล่างมาจากการปล่อยเหล่านี้
ขั้นตอนปล่อยอัปเดตแอป iOS ตามลำดับ
หน้าช่วยเหลือของ App Store Connect เรื่องเวอร์ชันใหม่ ให้ขั้นตอนไว้ดังนี้:
- ในหน้า Apps เลือกแอปของคุณ แล้วคลิกปุ่ม + ข้างแพลตฟอร์ม
- ใส่หมายเลขเวอร์ชันที่สูงกว่าเวอร์ชันก่อน แล้วคลิก Create
- ตรวจเมทาดาทาอีกรอบ: ระบบจะคัดลอกของเวอร์ชันที่ออนไลน์อยู่มาให้อัตโนมัติ
- ส่งบิลด์ใหม่ โดยเพิ่มหมายเลขบิลด์ขึ้น
- ทดสอบบิลด์นี้ใน TestFlight เพิ่มเข้าไปในเวอร์ชัน แล้วส่งให้ App Review
มีเงื่อนไขสองข้อก่อนเริ่ม เวอร์ชันที่ออนไลน์อยู่ต้องมีสถานะ Ready for Distribution และคุณต้องมีบทบาทใดบทบาทหนึ่งต่อไปนี้: Account Holder, Admin, App Manager หรือ Marketing
ย้อนกลับไม่ได้ Apple เขียนไว้ในหน้าเดียวกันว่า ถ้าเวอร์ชันไหนมีปัญหา คุณจะกลับไปใช้เวอร์ชันก่อนหน้าไม่ได้ ต้องสร้างและส่งเวอร์ชันใหม่เท่านั้น
หมายเลขเวอร์ชันและหมายเลขบิลด์
เวอร์ชันคือหมายเลขที่ลูกค้าเห็นบนหน้าแอปของคุณ ส่วนบิลด์ใช้ระบุการส่งแต่ละครั้ง คู่เวอร์ชันกับบิลด์ต้องไม่ซ้ำกัน กฎและข้อผิดพลาดที่เกี่ยวข้องอยู่ในบทความ เวอร์ชันและหมายเลขบิลด์
หลักที่ผมใช้ (ไม่ใช่กฎของ Apple): ตัวเลขสุดท้ายเพิ่มเมื่อแก้บั๊ก จาก 1.4.0 เป็น 1.4.1 ตัวเลขตรงกลางเพิ่มเมื่อมีฟีเจอร์ใหม่ จาก 1.4.1 เป็น 1.5.0 ส่วนหมายเลขบิลด์มีแต่เพิ่มขึ้นเรื่อย ๆ ข้ามเวอร์ชัน ถ้าใช้ Expo เวอร์ชันจะอยู่ใน app.json และ EAS เพิ่มบิลด์ให้อัตโนมัติได้ทุกครั้งที่คอมไพล์ production วิธีตั้งค่าอยู่ใน ปล่อยแอป Expo ด้วย EAS
ข้อความ “มีอะไรใหม่”: สิ่งที่ Apple กำหนด
หน้าข้อมูลเวอร์ชัน อธิบายช่อง What's New in This Version ไว้ว่า:
- ยาวได้สูงสุด 4,000 ตัวอักษร
- ไม่มีในเวอร์ชันแรก แต่บังคับสำหรับทุกเวอร์ชันถัดไป
- แปลได้ในทุกภาษาที่หน้าแอปของคุณรองรับ
ข้อ 2.3.12 ของ App Review Guidelines เพิ่มข้อกำหนดว่า ต้องอธิบายฟีเจอร์ใหม่และการเปลี่ยนแปลงของผลิตภัณฑ์ให้ชัดเจน ถ้าเป็นแค่การแก้บั๊ก ความปลอดภัย หรือประสิทธิภาพ เขียนกว้าง ๆ ก็พอ แต่การเปลี่ยนแปลงสำคัญต้องระบุออกมา ดังนั้น “แก้บั๊กและปรับปรุงประสิทธิภาพ” จึงไม่พอสำหรับเวอร์ชันที่เปลี่ยนการสมัครสมาชิกหรือหน้าจอหลักของคุณ
Apple ยังแนะนำไว้ในหน้าเรื่องรีวิวด้วยว่า ให้บอกในโน้ตว่าแก้ปัญหาที่ลูกค้าเคยเล่าไว้ในรีวิวแล้ว
นี่คือสามเทมเพลตให้คุณปรับใช้ หนึ่งแบบต่อเวอร์ชันแต่ละประเภท
สำหรับการแก้บั๊ก:
แก้ไขและเพิ่มความเสถียร
- [ฟีเจอร์]: แก้ [สิ่งที่ใช้งานไม่ได้] แล้ว
- [หน้าจอ] โหลดเร็วขึ้น
ขอบคุณทุกคนที่แจ้งปัญหาเข้ามา
สำหรับฟีเจอร์ใหม่:
ใหม่: [ชื่อฟีเจอร์ สั้น ๆ ไม่เกินห้าคำ]
[สิ่งที่คุณทำได้แล้วตอนนี้ ในหนึ่งประโยค]
หาได้ที่: [แท็บ] > [ปุ่ม]
ในเวอร์ชันนี้ยังมี:
- [การปรับปรุงที่มองเห็นได้]
- แก้บั๊ก
สำหรับขั้นตอนการใช้งานที่เปลี่ยนไป:
[หน้าจอหรือขั้นตอน] มีการเปลี่ยนแปลง
- สิ่งที่เปลี่ยนสำหรับคุณ: [ผลที่เห็นได้จริง]
- สิ่งที่ยังอยู่เหมือนเดิม: [ข้อมูล การตั้งค่า การซื้อ]
มีคำถาม? [การตั้งค่า] > [ช่วยเหลือ]
บรรทัดสุดท้ายของเทมเพลตแก้บั๊กใช้ได้เฉพาะเมื่อมีคนแจ้งปัญหาเข้ามาจริง ๆ อย่าเขียนฟีเจอร์ใหม่ที่ไม่มีอยู่ในบิลด์เด็ดขาด: ข้อ 2.3 กำหนดให้เมทาดาทาตรงกับแอปจริง
ปล่อยเอง ปล่อยอัตโนมัติ หรือปล่อยตามวันที่
หน้าช่วยเหลือเรื่องตัวเลือกการปล่อย มีให้เลือกสามแบบ:
| ตัวเลือก | หลัง Apple อนุมัติ |
|---|---|
| ปล่อยเอง | สถานะ Pending Developer Release คุณปล่อยเมื่อไหร่ก็ได้ |
| ปล่อยอัตโนมัติ | เวอร์ชันออกทันทีที่อนุมัติ |
| อัตโนมัติ ไม่ก่อนวันที่... | รอจนถึงวันที่เลือก แล้วออกเอง |
ถ้าปล่อยเอง ให้เปิดเวอร์ชันที่มีสถานะ Pending Developer Release คลิก Release This Version แล้วยืนยัน Apple เตือนว่าอาจใช้เวลาถึง 24 ชั่วโมงกว่าจะขึ้นบน App Store ในหน้าเวอร์ชันจะมีข้อความให้กด Cancel This Release เพื่อยกเลิก ถ้าเวอร์ชันค้างรออยู่เกิน 30 วัน Apple จะส่งอีเมลเตือนคุณ
การปล่อยเองมีไว้เลือกจังหวะเวลา เช่น ปล่อยในวันที่ประกาศข่าว Solys 2.0.0 ซึ่งมาพร้อมการสมัครสมาชิกรายปีเวอร์ชันใหม่ ถูกส่งรีวิวช่วงปลายเดือนกันยายน 2026 แบบปล่อยเอง
สำหรับเวอร์ชันทั่วไป ผมเลือกปล่อยอัตโนมัติ Nolera 1.0.2 ได้รับอนุมัติวันที่ 12 ตุลาคม 2026 และขึ้นบน App Store ไม่ถึงหนึ่งนาทีหลังได้อีเมลจาก Apple ตามข้อมูลจาก API ค้นหาสาธารณะของ iTunes แต่นี่เป็นการสังเกตแค่ครั้งเดียว: เผื่อเวลาไว้เยอะ ๆ
การทยอยปล่อยใน 7 วัน
หน้าช่วยเหลือของ Apple เรื่องการทยอยปล่อย ให้ตารางเวลาที่แน่นอนไว้:
| วัน | สัดส่วนผู้ใช้ |
|---|---|
| 1 | 1% |
| 2 | 2% |
| 3 | 5% |
| 4 | 10% |
| 5 | 20% |
| 6 | 50% |
| 7 | 100% |
อัปเดตจะถูกส่งไปยังกลุ่มตัวอย่างแบบสุ่มจากผู้ใช้ที่เปิดอัปเดตอัตโนมัติไว้ บนอุปกรณ์ที่รองรับ โดยพวกเขาจะไม่รู้ว่าตัวเองอยู่ในกลุ่มนี้
การทยอยปล่อยชะลอเฉพาะการอัปเดตอัตโนมัติเท่านั้น Apple ระบุว่าใครก็ดาวน์โหลดเวอร์ชันใหม่จาก App Store ได้ทุกเมื่อ คนที่ติดตั้งแอปของคุณ หรือกด “Update” บนหน้าแอป จึงได้เวอร์ชันใหม่ตั้งแต่วันแรก นี่ไม่ใช่การทดสอบกับผู้ใช้ 1% แต่เป็นการชะลอคนที่เหลือ
วิธีเปิดใช้: เปิดเวอร์ชัน เลื่อนลงไปที่ส่วน Phased Release for Automatic Updates ติ๊ก “Release update over a 7-day period using phased release” แล้วบันทึก ต้องมีบทบาท Account Holder, Admin หรือ App Manager ตัวเลือกนี้ใช้ได้จนถึงสถานะ Pending Developer Release: คุณยังเปิดได้หลัง Apple อนุมัติแล้ว ตราบใดที่เวอร์ชันยังรอให้คุณปล่อยเอง
เมื่อเวอร์ชันได้รับอนุมัติ สถานะ Ready for Distribution จะมีคำว่า “Phased Release” กำกับ เมื่อครบ 7 วัน Admin และ App Manager ของแอปจะได้รับการแจ้งเตือน
หยุดชั่วคราว ทำต่อ และปล่อยให้ทุกคน
- หยุดชั่วคราว: รวมได้สูงสุด 30 วัน แบ่งกี่ครั้งก็ได้ หยุด 10 วันก็จะเหลือ 20 วันสำหรับครั้งต่อ ๆ ไป
- ทำต่อ: การทยอยปล่อยจะเริ่มต่อจากวันที่คุณหยุดไว้
- ปล่อยให้ทุกคน: ปุ่ม Release to All Users ที่มุมขวาบนของเวอร์ชัน จะส่งอัปเดตไปยังทุกอุปกรณ์ที่เปิดอัปเดตอัตโนมัติ
- ถอนออกจากการขาย: การทยอยปล่อยจะหยุดถาวร รวมถึงกรณีที่สมาชิกโปรแกรมนักพัฒนาของคุณหมดอายุด้วย ถ้าแอปกลับมาขายอีก เวอร์ชันนั้นจะเปิดให้ทุกคนพร้อมกันทันที
หลังปล่อยให้ทุกคนแล้ว จะตั้งค่าอะไรไม่ได้อีก ตามที่ระบุในตารางคุณสมบัติที่แก้ไขได้
Nolera 1.0.2 ออกไปโดยไม่ได้ทยอยปล่อย นี่คือวิธีที่ผมจะใช้มันตลอดสัปดาห์:
| สิ่งที่คุณเห็น | สิ่งที่คุณทำ | สิ่งที่เกิดขึ้น |
|---|---|---|
| แอปแครช หรือมีรีวิวน่ากังวล | หยุดชั่วคราว | การอัปเดตอัตโนมัติหยุดลง |
| แก้บั๊กเสร็จแล้ว | เวอร์ชันใหม่ | ต้องรีวิวอีกรอบ และทยอยปล่อยแยกของตัวเอง |
| ไม่มีอะไรผิดปกติหลัง 3 หรือ 4 วัน | Release to All Users | ทุกคนได้รับอัปเดต |
| คุณรอคำตอบจาก Apple | หยุดชั่วคราว รวม 30 วัน | ทำต่อจากวันที่คุณหยุดไว้ |
ระหว่างหยุดชั่วคราว การดาวน์โหลดด้วยตัวเองยังเกิดขึ้นได้ตามปกติ ติ๊กทยอยปล่อยไว้ทุกครั้งที่เวอร์ชันแตะเรื่องการจ่ายเงินหรือการเปิดแอปครั้งแรก: จุดนี้แหละที่บั๊กทำให้เสียหายมากที่สุด และคุณย้อนกลับไม่ได้
เมื่อต้องแก้ด่วน: ขอรีวิวเร่งด่วน
Apple ให้คุณขอรีวิวเร่งด่วนได้ แต่สงวนไว้สำหรับกรณีเร่งด่วนจริง ๆ เท่านั้น: บั๊กร้ายแรงที่ต้องแก้ หรือการปล่อยที่ผูกกับอีเวนต์
- ส่งเวอร์ชันของคุณก่อน อธิบายบั๊กในช่อง Notes สำหรับผู้รีวิว
- กรอกแบบฟอร์มขอรีวิวเร่งด่วน แล้วเลือกแอปและแพลตฟอร์ม
- Apple จะเร่งรีวิวตามที่ทำได้ ไม่มีอะไรรับประกัน
ถ้าเป็นอีเวนต์ ให้ระบุวันที่และความเกี่ยวข้องของคุณกับอีเวนต์นั้นในโน้ต ระยะเวลาปกติอยู่ในบทความ ระยะเวลาอนุมัติบน App Store
อะไรต้องรีวิวใหม่ และอะไรไม่ต้อง
| การเปลี่ยนแปลง | สิ่งที่ต้องทำ |
|---|---|
| โค้ดเนทีฟ สิทธิ์การเข้าถึง เวอร์ชัน SDK | บิลด์ใหม่ เวอร์ชันใหม่ รีวิวเต็มรูปแบบ |
| ภาพหน้าจอ คำอธิบาย คีย์เวิร์ด มีอะไรใหม่ | เวอร์ชันใหม่ รีวิวไปพร้อมกัน |
| ข้อความโปรโมต | ไม่ต้อง: เปลี่ยนได้โดยไม่ต้องส่งใหม่ |
| หยุดชั่วคราว ทำต่อ ปล่อยให้ทุกคน | ไม่ต้อง: เป็นแค่การตั้งค่าการปล่อย |
| ส่วนหัวหน้าแอป iOS 27 | ส่งเดี่ยว ๆ ใน Asset Library หรือพร้อมเวอร์ชัน |
| แก้ JavaScript ด้วย Expo | อัปเดตจากระยะไกลได้ |
ข้อความโปรโมตเปลี่ยนได้โดยไม่ต้องส่งใหม่ ตามหน้าข้อมูลเวอร์ชัน ถ้าใช้ Expo การอัปเดตจากระยะไกลจะเปลี่ยน JavaScript ข้อความ และรูปภาพได้โดยไม่ต้องผ่าน App Store เอกสารของ Expo กำหนดข้อจำกัดไว้สองข้อ: โค้ดเนทีฟ สิทธิ์การเข้าถึง และเวอร์ชัน SDK ต้องใช้ไบนารีใหม่ และการอัปเดตต้องเป็นไปตามกฎของ App Store
กรณีของผม: การแก้จากระยะไกลที่ผู้รีวิวไม่เคยเห็น
เดือนกันยายน 2026 บิลด์หนึ่งของ Nolera กำลังรอรีวิว ผมแก้บั๊กของหน้าจอสแกนไปแล้ว และปล่อยการแก้นั้นเป็นอัปเดตจากระยะไกลระหว่างรอ แต่บิลด์ก็ยังโดนปฏิเสธ ด้วยบั๊กที่แก้ไปแล้วนั่นแหละ
คำอธิบายอยู่ในเอกสารของ expo-updates: โดยค่าเริ่มต้น แอปจะดาวน์โหลดอัปเดตตอนเปิด และนำมาใช้ตอนเปิดครั้งถัดไป ผู้รีวิวติดตั้งแอป เปิดครั้งเดียว แล้วทดสอบโค้ดที่ฝังอยู่ในบิลด์ กฎเดียวกันนี้ใช้กับผู้ใช้ใหม่ของคุณด้วย: เซสชันแรกของพวกเขารันบนโค้ดของบิลด์
ตั้งแต่นั้น การเปลี่ยนหน้าแรก paywall หรือฟีเจอร์หลัก ผมจะส่งเป็นบิลด์ใหม่ทุกครั้ง อัปเดตจากระยะไกลมีไว้สำหรับคนที่มีแอปอยู่แล้วเท่านั้น
รีเซ็ตเรตติ้งพร้อมเวอร์ชันใหม่
ทุกเวอร์ชันใหม่มีตัวเลือก Reset rating when this version is released ตามหน้าช่วยเหลือของ Apple เรื่องการรีเซ็ต ตัวเลือกนี้มีผลกับทุกประเทศ เก็บรีวิวที่เขียนไว้ และยกเลิกไม่ได้หลังปล่อย Apple แนะนำให้ใช้อย่างประหยัด เพราะหน้าแอปที่มีเรตติ้งน้อยอาจทำให้คนลังเล
เช็กลิสต์ก่อนส่งอัปเดต
- หมายเลขเวอร์ชันสูงขึ้น และเพิ่มหมายเลขบิลด์แล้ว
- ทดสอบบิลด์ใน TestFlight แล้ว บน iPhone จอเล็ก และบน iPad ถ้าแอปของคุณรองรับ
- เขียน “มีอะไรใหม่” ครบทุกภาษา และระบุการเปลี่ยนแปลงสำคัญไว้แล้ว
- ภาพหน้าจอแสดงหน้าตาปัจจุบัน ถ้ามีการเปลี่ยนแปลง
- โน้ตสำหรับผู้รีวิวบอกว่าเปลี่ยนอะไร และหาได้ที่ไหน
- เลือกตัวเลือกการปล่อยแล้ว: ปล่อยเองถ้าต้องให้ตรงวัน
- ติ๊กทยอยปล่อยไว้ ถ้าเวอร์ชันแตะเรื่องการจ่ายเงินหรือการเปิดแอปครั้งแรก
- คุณรู้แล้วว่าถ้าต้องแก้อะไร จะส่งจากระยะไกลได้ หรือต้องใช้บิลด์ใหม่
ผ่านรีวิวได้ทุกครั้งที่อัปเดต
ทุกอัปเดตต้องผ่าน App Review อีกรอบ และการโดนปฏิเสธจะทำให้การแก้ของคุณติดค้าง Review Kit รวมเช็กลิสต์ก่อนส่งของผม เคสที่ผมโดนปฏิเสธแล้วแก้ได้ และ skill ของ Claude Code สองตัวที่อ่านโปรเจกต์และหน้าแอปของคุณ แล้วเตรียมคำตอบให้ถ้า Apple ปฏิเสธ ขั้นตอนทั้งหมดอยู่ในหน้า ปล่อยแอปบน App Store
ถ้าคุณกำลังเตรียมปล่อยแอปตัวแรก ทำแบบประเมินฟรี: มันจะเรียงขั้นตอนให้เป็นลำดับ และส่งเช็กลิสต์กันโดน Apple ปฏิเสธของผมให้คุณ
คำถามที่พบบ่อย
การทยอยปล่อยบน App Store ใช้เวลานานเท่าไหร่?
เจ็ดวัน: วันแรก 1% ของผู้ใช้ที่เปิดอัปเดตอัตโนมัติ จากนั้น 2, 5, 10, 20 และ 50% และ 100% ในวันที่เจ็ด คุณหยุดชั่วคราวได้รวมสูงสุด 30 วัน หรือจบเมื่อไหร่ก็ได้ด้วย Release to All Users
อัปเดตแอป iOS ต้องผ่านรีวิวของ Apple อีกรอบไหม?
ต้อง ทุกเวอร์ชันใหม่พร้อมบิลด์และเมทาดาทาต้องผ่าน App Review ส่วนข้อความโปรโมตและการตั้งค่าการปล่อยเปลี่ยนได้โดยไม่ต้องส่งใหม่
ย้อนกลับไปใช้แอปเวอร์ชันเก่าบน App Store ได้ไหม?
ไม่ได้ ต้องสร้างเวอร์ชันใหม่ที่มีการแก้ไข แล้วส่งรีวิว นี่แหละคือเหตุผลที่การทยอยปล่อยและการหยุดชั่วคราวมีประโยชน์
ผู้ใช้ใหม่ได้รับอัปเดตระหว่างทยอยปล่อยไหม?
ได้ ถ้าเขาดาวน์โหลดแอปจาก App Store การทยอยปล่อยควบคุมเฉพาะการอัปเดตอัตโนมัติ: ใครก็ดาวน์โหลดเวอร์ชันใหม่ได้ทุกเมื่อ
เปิดทยอยปล่อยหลัง Apple อนุมัติแล้วได้ไหม?
ได้ ตราบใดที่เวอร์ชันยังอยู่ในสถานะ Pending Developer Release คือเลือกปล่อยเองไว้และยังไม่ได้ปล่อย เมื่อเวอร์ชันออกไปแล้ว ก็สายเกินไปสำหรับเวอร์ชันนั้น
ควรเขียนอะไรในโน้ตเวอร์ชันของอัปเดต?
ฟีเจอร์ใหม่และการเปลี่ยนแปลงสำคัญ ระบุให้ชัดเจน: นี่คือข้อ 2.3.12 ถ้าแค่แก้บั๊ก ความปลอดภัย หรือประสิทธิภาพ เขียนกว้าง ๆ ก็พอ ช่องนี้รับได้ 4,000 ตัวอักษร และแปลได้ทุกภาษา

