# ลบบัญชีในแอป iOS: ขั้นตอนที่ต้องทดสอบก่อนส่ง Apple

> ปุ่มลบบัญชี ข้อมูลที่เกี่ยวข้อง การสมัครสมาชิก และการล็อกอินใหม่: เช็กลิสต์ทดสอบขั้นตอนนี้ก่อนส่งให้ App Review

หน้าต้นฉบับ: [ลบบัญชีในแอป iOS: ขั้นตอนที่ต้องทดสอบก่อนส่ง Apple](https://devoria.fr/th/blog/ios-account-deletion-test-before-app-review)
ผู้เขียน: [Mehdi Azizi](https://devoria.fr/th/mehdi-azizi)
เผยแพร่: 2026-10-02
แก้ไขเนื้อหาล่าสุด: 2026-10-09


## มีแค่ปุ่มยังไม่พอ ต้องตรวจว่าอะไรหายไปจริง

ถ้าแอปของคุณให้ผู้ใช้สร้างบัญชีได้ Apple กำหนดให้ผู้ใช้ต้องเริ่มลบบัญชีได้จากในแอป การปิดใช้งานบัญชีเฉยๆ ไม่ถือว่าทำตามข้อกำหนดนี้ ขั้นตอนต้องหาเจอง่ายและอธิบายผลที่จะตามมา ถ้ามีบางส่วนต้องไปทำต่อบนเว็บ ลิงก์ต้องพาไปที่หน้านั้นโดยตรง [แหล่งที่มา: การลบบัญชีตามข้อกำหนดของ Apple](https://developer.apple.com/support/offering-account-deletion-in-your-app)

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

## เริ่มจากแผนที่ข้อมูล

ลองนึกถึงแอปสมมติสำหรับจดบันทึกการอ่านหนังสือ แอปนี้มีบัญชี โปรไฟล์ โน้ตส่วนตัว และรูปปกหนังสือที่ผู้ใช้อัปโหลด ตัวอย่างด้านล่างคือแผนที่ต้องตรวจสอบ ไม่ใช่การลบที่ผมเคยทำจริงบนแอปของ Devoria

- **ข้อมูลล็อกอิน:** จะทำให้บัญชีใช้งานไม่ได้หลังลบอย่างไร?
- **โปรไฟล์และโน้ต:** แถวข้อมูลไหนเป็นของผู้ใช้คนนี้ และลบอย่างไร?
- **รูปที่จัดเก็บไว้:** ขั้นตอนไหนลบไฟล์และการอ้างอิงถึงไฟล์เหล่านั้น?
- **แคชในโทรศัพท์:** หน้าจอล้างข้อมูลในเครื่องเมื่อการลบสำเร็จจริงแล้วหรือไม่?
- **บริการภายนอก:** ข้อมูลที่ผูกกับบัญชีนี้ต้องลบแยกต่างหากหรือไม่?
- **ข้อมูลที่ต้องเก็บไว้:** ข้อมูลอะไร เพราะข้อบังคับข้อไหน และแจ้งผู้ใช้อย่างไร?

แผนที่นี้ช่วยให้คุณไม่ต้องมาเจอทีหลังว่ารูปยังเข้าถึงได้ ทั้งที่ข้อมูลผู้ใช้หายไปแล้ว และยังบอกคุณด้วยว่าต้องตามหาอะไรบ้างตอนทดสอบ

## ขั้นตอนที่อ่านเข้าใจง่ายใน 4 สถานะ

นี่คือข้อเสนอสำหรับแอปสมมติ ให้ปรับตามผลที่เกิดขึ้นจริงในโปรดักต์ของคุณ:

1. **ตั้งค่าบัญชี** มีเมนู "ลบบัญชีของฉัน" ให้เข้าถึงได้เสมอ
2. **ยืนยัน** หน้าจออธิบายว่าข้อมูลไหนจะถูกลบ และมีปุ่มยกเลิกที่เข้าใจง่ายพอๆ กับปุ่มลบ
3. **กำลังดำเนินการ** ปุ่มป้องกันการกดส่งคำขอซ้ำ และหน้าจอแสดงว่ากำลังดำเนินการอยู่
4. **ผลลัพธ์** ถ้าสำเร็จจริงจะพาไปยังสถานะออกจากระบบ ถ้าล้มเหลวจะแสดงข้อความที่มีประโยชน์และให้ลองใหม่ได้ โดยไม่อ้างว่าบัญชีถูกลบไปแล้ว

ถ้าการลบใช้เวลา Apple ยอมรับขั้นตอนแบบล่าช้าได้ โดยต้องแจ้งผู้ใช้และยืนยันเมื่อเสร็จสิ้น แอปต้องไม่ทำให้ผู้ใช้เข้าใจว่าลบเสร็จแล้ว ทั้งที่เพิ่งบันทึกคำขอไว้เท่านั้น [เอกสารของ Apple](https://developer.apple.com/support/offering-account-deletion-in-your-app) ฉบับเดียวกันยังอธิบายกรณีที่ต้องยืนยันตัวตนอีกครั้ง และข้อยกเว้นสำหรับธุรกิจที่มีการกำกับดูแลเข้มงวด

## สิ่งที่ต้องเตรียมไว้ถ้าใช้ Supabase

การลบผู้ใช้ใน Auth อย่างเดียว ไม่ได้พิสูจน์ว่าข้อมูลทั้งหมดในโปรดักต์ของคุณถูกจัดการแล้ว Supabase อธิบายไว้ว่าผู้ใช้ที่ยังมีออบเจกต์ใน Storage จะลบไม่ได้จนกว่าจะแก้ปัญหานี้ เอกสารยังระบุด้วยว่าการลบผู้ใช้ไม่ได้ทำให้ JWT ที่ออกไปแล้วทั้งหมดหมดอายุทันที คุณต้องคำนึงถึงอายุของ JWT เหล่านี้ตอนออกแบบ [แหล่งที่มา: การจัดการผู้ใช้ของ Supabase](https://supabase.com/docs/guides/auth/managing-user-data)

ดังนั้นให้สร้างขั้นตอนฝั่งเซิร์ฟเวอร์ที่ตรวจสอบตัวตนของผู้ส่งคำขอ และทรัพยากรที่เป็นของเขา อย่าเชื่อ ID ที่โทรศัพท์ส่งมาเองเพื่อเลือกบัญชีที่จะลบ สิทธิ์ผู้ดูแลระบบต้องอยู่ฝั่งเซิร์ฟเวอร์เท่านั้น ตาม[เอกสารเรื่องคีย์ของ Supabase](https://supabase.com/docs/guides/getting-started/api-keys)

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

## บัญชีกับการสมัครสมาชิก: ตรวจแยกกันสองเรื่อง

ผู้ใช้อาจลบบัญชีได้ ในขณะที่การสมัครสมาชิกผ่าน Apple ยังคงดำเนินอยู่ Apple กำหนดให้อธิบายว่าการเรียกเก็บเงินจะเป็นอย่างไรต่อ และให้เข้าถึงหน้าจัดการการสมัครสมาชิกได้ ถ้าคุณใช้ Sign in with Apple ให้เตรียมการเพิกถอนโทเคนอย่างเหมาะสมด้วย รายละเอียดเหล่านี้อยู่ใน[แนวทางของ Apple เรื่องการลบบัญชี](https://developer.apple.com/support/offering-account-deletion-in-your-app)

ในแผนทดสอบ ให้แยกการหายไปของบัญชี สถานะการเข้าถึงแบบเสียเงิน และการจัดการการสมัครสมาชิกออกจากกัน คู่มือ[สมัครสมาชิกหรือซื้อครั้งเดียว](https://devoria.fr/th/blog/ios-app-subscription-vs-one-time-purchase) จะช่วยให้คุณวางขั้นตอนนี้ให้เข้ากับโมเดลรายได้ของคุณ

## เช็กลิสต์ที่ต้องรันบนบิลด์ทดสอบ

ใช้เฉพาะบัญชีทดสอบและข้อมูลสมมติ จดบิลด์ อุปกรณ์ ผลที่เห็น และข้อจำกัดของการตรวจแต่ละข้อ

1. **ยกเลิก** บัญชีและข้อมูลยังเข้าถึงได้ตามเดิม
2. **ลบบัญชีที่มีข้อมูลครบ** สถานะสุดท้ายตรงกับที่แจ้งไว้ และข้อมูลที่เกี่ยวข้องถูกลบจริง
3. **ตัดอินเทอร์เน็ต** แอปไม่แสดงว่าสำเร็จทั้งที่ไม่สำเร็จ
4. **ลองใหม่หลังล้มเหลวบางส่วน** คำขอสำเร็จได้โดยไม่ไปกระทบข้อมูลอื่น
5. **เปิดเซสชันที่สอง** การเข้าถึงเดิมถูกจัดการตามกลไกที่วางไว้
6. **สร้างบัญชีใหม่ด้วยอีเมลเดิม ถ้าอนุญาต** ข้อมูลส่วนตัวเก่าไม่กลับมาปรากฏ

เพิ่มกรณีเหล่านี้ลงใน[เช็กลิสต์ทดสอบของ Devoria](https://devoria.fr/th/resources) ถ้าจะส่งให้ผู้ทดสอบ ให้ทำตามคู่มือ [TestFlight](https://devoria.fr/th/blog/testflight-test-iphone-app-before-app-store) การที่ไม่มีข้อความ error ใน console ไม่ได้แทนการตรวจข้อมูลและขั้นตอนจริง

## เตรียมส่งให้ App Review

ในโน้ตสำหรับรีวิว ให้อธิบายว่าปุ่มลบอยู่ตรงไหนและทดสอบอย่างไร ถ้ามีขั้นตอนที่ต้องพึ่งบริการภายนอก ตรวจให้แน่ใจว่าบริการนั้นใช้งานได้ระหว่างรีวิว อย่าใช้โน้ตเพื่อสัญญาฟีเจอร์ที่ยังไม่มีในบิลด์ที่ส่งไป

หน้า[แอปถูก Apple ปฏิเสธ](https://devoria.fr/th/expertise/app-rejected-by-apple) ช่วยให้คุณเรียบเรียงคำตอบเมื่อมีปัญหาถูกแจ้งมาแล้ว และเพื่อเตรียมคำตอบ [Apple Review Kit](https://devoria.fr/th/kits/review-apple) จะช่วยให้คุณหากฎที่ถูกอ้างถึง สิ่งที่กฎนั้นต้องการ พร้อมตัวอย่างการแก้ไขและการตอบกลับ

ถ้าคุณกำลังเตรียมส่งแอปครั้งแรก [การวินิจฉัยฟรี](https://devoria.fr/th/diagnostic) จะบอกว่ายังเหลืออะไรต้องทำ และส่งเช็กลิสต์กันโดน Apple ปฏิเสธของผมให้คุณ ซึ่งรวมเรื่องการลบบัญชีไว้ด้วย ถ้า Apple ปฏิเสธแอปของคุณไปแล้ว [จองเวลาหนึ่งชั่วโมงกับผม](https://devoria.fr/th/coaching) แล้วเรามาอ่านข้อความด้วยกันผ่านวิดีโอคอล

## คำถามที่พบบ่อย

### แอป iOS ต้องมีฟีเจอร์ลบบัญชีหรือไม่?

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

### เมื่อผู้ใช้ลบบัญชี ต้องลบอะไรบ้าง?

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

### Apple ยอมรับการลบบัญชีที่ไม่เกิดขึ้นทันทีหรือไม่?

ยอมรับ ถ้าการลบใช้เวลา Apple ยอมรับขั้นตอนแบบล่าช้าได้ โดยต้องแจ้งผู้ใช้และยืนยันเมื่อเสร็จสิ้น แอปต้องไม่ทำให้ผู้ใช้เข้าใจว่าลบเสร็จแล้วทั้งที่เพิ่งบันทึกคำขอไว้ ถ้าล้มเหลว ให้แสดงข้อความที่มีประโยชน์และให้ลองใหม่ได้ โดยไม่อ้างว่าบัญชีถูกลบไปแล้ว

### การสมัครสมาชิกจะเป็นอย่างไรเมื่อผู้ใช้ลบบัญชี?

การสมัครสมาชิกผ่าน Apple อาจยังดำเนินต่อหลังลบบัญชี Apple กำหนดให้อธิบายว่าการเรียกเก็บเงินจะเป็นอย่างไรต่อ และให้เข้าถึงหน้าจัดการการสมัครสมาชิกได้ ถ้าคุณใช้ Sign in with Apple ให้เตรียมการเพิกถอนโทเคนอย่างเหมาะสมด้วย ในแผนทดสอบ ให้แยกการหายไปของบัญชี สถานะการเข้าถึงแบบเสียเงิน และการจัดการการสมัครสมาชิกออกจากกัน

### ลบผู้ใช้ใน Supabase Auth อย่างเดียวพอหรือไม่?

ไม่พอ การลบผู้ใช้ใน Auth ไม่ได้พิสูจน์ว่าข้อมูลทั้งหมดในโปรดักต์ของคุณถูกจัดการแล้ว ตามเอกสารของ Supabase ผู้ใช้ที่ยังมีออบเจกต์ใน Storage จะลบไม่ได้จนกว่าจะแก้ปัญหานี้ และการลบผู้ใช้ก็ไม่ได้ทำให้ JWT ที่ออกไปแล้วทั้งหมดหมดอายุทันที ให้สร้างขั้นตอนฝั่งเซิร์ฟเวอร์ที่ตรวจสอบตัวตนของผู้ส่งคำขอ

### จะทดสอบการลบบัญชีก่อนส่งให้ Apple อย่างไร?

ใช้บัญชีทดสอบและข้อมูลสมมติบนบิลด์ทดสอบ รัน 6 กรณี: ยกเลิก ลบบัญชีที่มีข้อมูลครบ ตัดอินเทอร์เน็ต ลองใหม่หลังล้มเหลวบางส่วน เปิดเซสชันที่สอง และสร้างบัญชีใหม่ด้วยอีเมลเดิมถ้าอนุญาต ตรวจทั้งข้อมูลและขั้นตอน เพราะการไม่มี error ใน console ยังไม่พอ ถ้าจะแจกบิลด์ ให้ทำตามคู่มือ [TestFlight](https://devoria.fr/th/blog/testflight-test-iphone-app-before-app-store)


## โปรเจกต์ของคุณ

[Apple Review Kit](https://devoria.fr/th/kits/review-apple): เช็กลิสต์รีวิว App Store ที่ผมใช้ การปฏิเสธจาก Apple ที่ผมแก้แล้ว บันทึกถึงผู้ตรวจ และสอง skills ของ Claude Code ที่ตรวจแอปคุณ 29 €

[iOS Kit](https://devoria.fr/th/kits/ios): สร้างแอป iPhone ด้วย Claude Code: Starter Code ของแอปผม skills ที่ตรวจงาน และคิต Apple Review, Screenshots และ ASO 129,99 €
