# Guideline 4.0 Design: แอปถูกปฏิเสธเพราะหน้าตาแอป

> Guideline 4.0 Design คือกรณีที่ Apple มองว่าหน้าตาแอปใช้งานยาก ซึ่งมักเจอบน iPad วิธีแก้คือทดสอบทุกหน้าจอบน iPhone SE และ iPad แก้ให้ครบ แล้วค่อยตอบกลับ

หน้าต้นฉบับ: [Guideline 4.0 Design: แอปถูกปฏิเสธเพราะหน้าตาแอป](https://devoria.fr/th/blog/guideline-4-0-design-app-store-rejection)
ผู้เขียน: [Mehdi Azizi](https://devoria.fr/th/mehdi-azizi)
เผยแพร่: 2026-11-04
แก้ไขเนื้อหาล่าสุด: 2026-11-04


“Guideline 4.0 - Design” ไม่ได้เป็นกฎที่มีเลขกำกับเหมือนข้ออื่น มันคือย่อหน้าเปิดของหมวด Design ในกฎของ Apple ซึ่งจะถูกยกมาอ้างเมื่อหน้าตาแอปของคุณดูต่ำกว่ามาตรฐานที่ Apple คาดหวัง เคสที่มีคนเอามาเผยแพร่ส่วนใหญ่คล้ายกัน คือหน้าจอแน่นอัดบน iPad ตัวหนังสืออ่านยาก ระบบล็อกอินเด้งไปเปิดใน Safari หรือใส่ Sign in with Apple ไม่ถูกวิธี **การแก้แทบทุกครั้งเริ่มจากเปิดแอปบนเครื่องรุ่นที่ข้อความระบุไว้ แล้วไล่ทีละหน้าจอ**

ผมเผยแพร่แอป iOS ของตัวเองด้วย Expo โดย Solys, TradaZen และ Nolera ตั้งค่าให้รองรับแค่ iPhone แต่ reviewer ก็ยังเอา Solys กับ Nolera ไปทดสอบบน iPad อยู่ดี คู่มือนี้อ้างอิงจากข้อความของ Apple เอง จากเคสถูกปฏิเสธด้วย 4.0 ที่นักพัฒนาคนอื่นเอามาเผยแพร่ และจากเช็กลิสต์ด้านหน้าตาที่ผมใช้ก่อนส่งแอปทุกครั้ง ถ้าอยากเห็นภาพรวมของเหตุผลที่ถูกปฏิเสธทั้งหมด อ่านได้ที่ [ทำไม Apple ถึงปฏิเสธแอป](https://devoria.fr/th/blog/apple-app-rejection-reasons-real-cases)

## Guideline 4.0 Design ครอบคลุมอะไรบ้าง?

หมวด 4 ของ [App Review Guidelines](https://developer.apple.com/app-store/review/guidelines/#design) เปิดด้วยย่อหน้าที่ไม่มีเลขกำกับว่า “Apple customers place a high value on products that are simple, refined, innovative, and easy to use, and that's what we want to see on the App Store.” แล้วเสริมว่าการออกแบบเป็นเรื่องของคุณ แต่ส่วนที่ตามมาจะกำหนด “minimum standards for approval” ไว้ และยังเตือนด้วยว่าแอปที่คุณภาพแย่ลงหลังผ่านการอนุมัติแล้วอาจถูกถอดออกได้

พูดง่าย ๆ คือ **Apple ต้องการแอปที่เรียบง่าย ประณีต และใช้งานง่าย ส่วน 4.0 จะถูกใช้เมื่อปัญหานั้นไม่เข้ากับกฎย่อยข้อไหนเป็นการเฉพาะ** ในข้อความไม่มีเกณฑ์เป็นตัวเลข สิ่งที่ใช้อ้างอิงได้จริงคือ [Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/layout) ซึ่งเป็นแนวทางการออกแบบของ Apple

## เคสถูกปฏิเสธด้วย 4.0 ที่เจอบ่อยที่สุด

นี่คือสี่เคสที่ผมเจอในข้อความที่มีคนโพสต์ไว้ในฟอรัมของ Apple พร้อมวลีที่ Apple ใช้

| เคส                  | วลีของ Apple        | วิธีแก้                    |
| -------------------- | ------------------- | -------------------------- |
| หน้าจอแน่นอัดบน iPad | “crowded”           | เลย์เอาต์ที่ปรับตามพื้นที่ |
| ตัวหนังสืออ่านไม่ออก | “hard to read type” | ขนาดตาม HIG                |
| ล็อกอินใน Safari     | “taken to Safari”   | ล็อกอินในแอป               |
| Sign in with Apple   | ขอชื่อซ้ำ           | ชื่อที่ได้มาแล้ว           |

### หน้าจอแน่นอัดหรือถูกตัดบน iPad

ข้อความตัวอย่างที่โพสต์เมื่อกันยายน 2025: “Parts of the app's user interface were still crowded, laid out, or displayed in a way that made it difficult to use the app when reviewed on iPad Air (5th generation) running iPadOS 26.0.” ส่วนถัดมาระบุว่าแอปใช้พื้นที่หน้าจอแค่บางส่วน ([กระทู้ในฟอรัม](https://developer.apple.com/forums/thread/800657))

ต้นเหตุมาจากกฎข้อ 2.4.1: “iPhone apps should run on iPad whenever possible.” ใน Expo ค่า `ios.supportsTablet` จะเป็น `false` โดยค่าเริ่มต้น ตาม[การตั้งค่าแอปของ Expo](https://docs.expo.dev/versions/latest/config/app/) แอป iPhone ของคุณจึงรันบน iPad ในโหมดความเข้ากันได้ (compatibility mode) ภายในหน้าต่างขนาดเท่า iPhone **การตั้งให้แอปรองรับแค่ iPhone ไม่ได้ทำให้รอดจากการถูกทดสอบบน iPad** บน iPad Air นี่แหละที่เดโมของ Solys กลายเป็นเล่นยังไงก็ไม่ชนะ ผมเล่ารายละเอียดเคสนี้ไว้ในคู่มือ [guideline 2.1](https://devoria.fr/th/blog/guideline-2-1-app-store-rejection-fix)

ทางออกมีสองทาง ทางแรกคือรองรับ iPad จริงจัง ด้วยเลย์เอาต์ที่ปรับตามพื้นที่ที่มี แนวทางการออกแบบของ Apple ให้กำหนดการจัดวางตาม size class ไม่ใช่ตามรุ่นเครื่อง ทางที่สองคือรองรับแค่ iPhone ต่อไป แต่ทุกหน้าจอต้องแสดงได้ครบในหน้าต่างโหมดความเข้ากันได้

### ตัวหนังสืออ่านยาก

ข้อความที่โพสต์เมื่อมกราคม 2025: “Your app included hard to read type or typography.” ในนั้น Apple ย้ำว่าผู้ใช้คาดหวังแอปที่ “simple, refined, and easy to use” ([กระทู้ในฟอรัม](https://developer.apple.com/forums/thread/772671))

[แนวทางด้านตัวอักษรของ Apple](https://developer.apple.com/design/human-interface-guidelines/typography) ให้ตัวเลขอ้างอิงบน iOS ไว้ คือ 17 พอยต์เป็นค่าเริ่มต้น และต่ำสุด 11 พอยต์ ส่วน[แนวทางด้านการช่วยการเข้าถึง](https://developer.apple.com/design/human-interface-guidelines/accessibility) กำหนดคอนทราสต์อย่างน้อย 4.5 ต่อ 1 สำหรับตัวหนังสือขนาดไม่เกิน 17 พอยต์ และพื้นที่แตะขนาด 44 x 44 พอยต์โดยค่าเริ่มต้น

มีกับดักอยู่ถ้าคุณย่อฟอนต์บนจอเล็ก แบบที่ผมทำเพื่อให้การตัดบรรทัดเหมือนกันทุกเครื่อง: **เช็กให้ดีว่าตัวหนังสือที่เล็กที่สุดของคุณ หลังย่อบน iPhone SE แล้ว ยังเหลืออย่างน้อย 11 พอยต์**

### ล็อกอินเด้งไป Safari

ข้อความที่โพสต์ใน[ฟอรัมของ Apple](https://developer.apple.com/forums/thread/126333): “We noticed that the user is taken to Safari to sign in or register for an account, which provides a poor user experience.” Apple ขอให้สมัครและล็อกอินได้ภายในแอป และแนะนำให้ใช้ Safari view แบบฝังในแอป

ใน Expo [expo-web-browser](https://docs.expo.dev/versions/latest/sdk/webbrowser/) ตอบโจทย์ทั้งสองอย่างโดยไม่ต้องออกจากแอป: `openAuthSessionAsync` เปิดเซสชันยืนยันตัวตนในหน้าต่างโมดัล และ `openBrowserAsync` แสดงหน้าเว็บใน Safari view แบบฝัง ในทางกลับกัน การเปิดหน้าล็อกอินด้วย `Linking.openURL` จะส่งผู้ใช้ไปที่แอป Safari ส่วนการเลือกว่าจะมีช่องทางล็อกอินแบบไหนบ้าง เป็นเรื่องของกฎอีกข้อ คือ 4.8

### ใส่ Sign in with Apple ไม่ถูกวิธี

ข้อความที่โพสต์เมื่อพฤษภาคม 2024: “Your app requires users to provide their name after using Sign in with Apple. This information is already provided by the Authentication Services framework.” ([กระทู้ในฟอรัม](https://developer.apple.com/forums/thread/751115))

เอกสารของ [expo-apple-authentication](https://docs.expo.dev/versions/latest/sdk/apple-authentication/) อธิบายกับดักนี้ไว้ คือชื่อและอีเมลจะส่งมาแค่ตอนล็อกอินครั้งแรกเท่านั้น **บันทึกเก็บไว้ทันที** ไม่อย่างนั้นคุณจะอยากขอข้อมูลซ้ำ และให้ใช้ปุ่มที่ไลบรารีเตรียมไว้ด้วย สีของปุ่มเลือกผ่าน `buttonStyle` และมุมโค้งผ่าน `cornerRadius` ห้ามใช้ `style`

## 4.0, 4.2, 4.3: การปฏิเสธด้านดีไซน์สามแบบที่ไม่ควรสับสน

| กฎ  | สิ่งที่ถูกตัดสิน    | วิธีแก้              |
| --- | ------------------- | -------------------- |
| 4.0 | หน้าตาแอป           | แก้หน้าจอ            |
| 4.2 | ประโยชน์ของแอป      | เพิ่มเนื้อหาแบบเนทีฟ |
| 4.3 | ความคล้ายกับแอปอื่น | เปลี่ยนคอนเซปต์      |

[4.2, Minimum Functionality](https://devoria.fr/th/blog/guideline-4-2-minimum-functionality-app-rejected) ต้องการฟีเจอร์ เนื้อหา และหน้าตาที่ยกระดับแอปให้ “beyond a repackaged website” เส้นแบ่งกับ 4.0 บางมาก เว็บไซต์ที่ห่อมาเป็นแอปอาจโดนทั้งสองข้อ **ถ้าแอปของคุณขาดเนื้อหา การแต่งหน้าจออย่างเดียวจะไม่พอ**

4.3 เล็งไปที่แอปลอกเลียนแบบและหมวดที่อิ่มตัวแล้ว ผมอธิบายสองวรรคของข้อนี้ไว้ละเอียดในคู่มือ [guideline 4.3 Design Spam](https://devoria.fr/th/blog/guideline-4-3-design-spam-app-rejected) หน้าตาที่สวยประณีตช่วยแอปที่เหมือนกับแอปอื่นอีกเป็นพันตัวไม่ได้

## เช็กลิสต์ด้านหน้าตาก่อนส่งแอป

นี่คือสิ่งที่ผมทำเพิ่มทุกครั้งที่ส่งแอป ในแอปของผม ทุกหน้าจอออกแบบสำหรับ iPhone รุ่นที่ใหญ่ที่สุด แล้วย่อลงด้วยสเกลเดียวบนรุ่นที่เล็กกว่า สัดส่วนเหมือนเดิม ตัดบรรทัดเหมือนเดิม จากนั้นผมเอาผลลัพธ์มาเทียบกันข้าง ๆ: iPhone SE, iPhone รุ่นมาตรฐาน, iPhone รุ่นใหญ่ที่สุด และ iPad หนึ่งเครื่องสำหรับโหมดความเข้ากันได้

| สิ่งที่ตรวจ        | เครื่อง            | สิ่งที่ต้องผ่าน                 |
| ------------------ | ------------------ | ------------------------------- |
| เปิดแอปครั้งแรก    | iPhone SE          | ไม่มีอะไรถูกตัด                 |
| Onboarding ทั้งหมด | iPad               | กดได้ทุกปุ่ม                    |
| เปิดคีย์บอร์ด      | iPhone SE          | เห็นช่องกรอกและปุ่ม             |
| ขยายตัวหนังสือ     | iPhone รุ่นมาตรฐาน | ไม่มีข้อความถูกตัด              |
| โหมดมืด            | ทุกเครื่อง         | อ่านออกทุกจุด                   |
| Safe area          | รุ่นใหญ่ที่สุด     | ไม่มีอะไรอยู่ใต้ Dynamic Island |
| Paywall            | iPhone SE          | เห็นราคาและลิงก์                |
| ล็อกอิน            | iPad               | ยังอยู่ในแอป                    |

ขอขยายความสามข้อ:

- **ขยายตัวหนังสือ** แนวทางด้านตัวอักษรของ Apple แนะนำวิธีทดสอบง่าย ๆ คือเปิดขนาดตัวหนังสือใหญ่ที่สุดใน Settings, Accessibility, Display & Text Size แล้วเช็กว่าทุกอย่างยังอ่านออก
- **โหมดมืด** [แนวทางของ Apple เรื่อง Dark Mode](https://developer.apple.com/design/human-interface-guidelines/dark-mode) กำหนดให้แอปอ่านออกได้ทั้งสองโหมด Expo จะใช้ `light` เป็นค่าเริ่มต้นถ้าคุณไม่ตั้ง `userInterfaceStyle` Solys ทำตามการตั้งค่าของเครื่อง TradaZen เป็นโหมดมืดตลอด ส่วน Nolera เป็นโหมดสว่าง ทั้งสามแบบ ผมทดสอบโหมดที่แสดงผลจริง
- **Safe area** เนื้อหาต้องไม่ไปอยู่ใต้ Dynamic Island หรือใต้แถบโฮม Expo อธิบายวิธีไว้ในคู่มือ [safe area](https://docs.expo.dev/develop/user-interface/safe-areas/)

บน Mac คุณตั้งค่า simulator ผ่าน command line ได้ เลยรันเช็กลิสต์ซ้ำได้เร็ว:

```bash
xcrun simctl ui booted appearance dark
xcrun simctl ui booted content_size accessibility-extra-extra-extra-large
xcrun simctl io booted screenshot ecran-se-sombre.png
```

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

## ตอบกลับการปฏิเสธด้วย 4.0 อย่างไร?

1. **ดูรุ่นเครื่องและเวอร์ชัน** ที่ระบุในข้อความ แล้วเปิดรุ่นเดียวกันใน simulator
2. **แก้ให้ครบทุกจุด** ข้อความตัวอย่างขอให้ “address all instances” ของปัญหา ไม่ใช่แค่หน้าจอในภาพแคป
3. **ส่ง build ใหม่** เพราะ reviewer ทดสอบโค้ดที่อยู่ในตัวแอป
4. **ตอบกลับพร้อมภาพหน้าจอ** ที่ถ่ายจากเครื่องรุ่นเดียวกัน โดย[ตอบกลับข้อความของ App Review](https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/reply-to-app-review-messages/)
5. **ยื่นอุทธรณ์เฉพาะเมื่อมั่นใจจริง ๆ** Apple เปิดให้[ยื่นเรื่องต่อ App Review Board](https://developer.apple.com/distribute/app-review/) ได้ โดยอุทธรณ์ได้ครั้งเดียวต่อการส่งที่ถูกปฏิเสธ

นี่คือเทมเพลตที่ผมจะใช้ ปรับตามกรณีของคุณ:

```text
Hello,

Thank you for your feedback regarding Guideline 4.0.

We reproduced the issue on [device] running [OS version].

Changes in build [X]:
- [Screen]: [what was crowded or hard to read], now [fix].
- [Screen]: [fix].

We also checked every screen on iPhone SE, a standard
iPhone, the largest iPhone and iPad, with larger text
sizes and Dark Mode.

Attached: screenshots of the updated screens on [device].

Best regards,
```

## เตรียมส่งแอปให้ไม่โดนปฏิเสธเรื่องดีไซน์

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

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

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

### “Guideline 4.0 - Design” ในข้อความปฏิเสธหมายความว่าอะไร?

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

### แอปของผมตั้งให้รองรับแค่ iPhone ทำไม Apple ถึงทดสอบบน iPad?

เพราะกฎข้อ 2.4.1 ต้องการให้แอป iPhone รันบน iPad ได้เมื่อเป็นไปได้ แอปของคุณจะเปิดบน iPad ในโหมดความเข้ากันได้ ภายในหน้าต่างขนาดเท่า iPhone และทุกหน้าจอต้องยังใช้งานได้ในนั้น

### ต้องส่ง build ใหม่หลังถูกปฏิเสธด้วย 4.0 ไหม?

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

### โหมดมืดจำเป็นต่อการผ่านรีวิวไหม?

ข้อความในกฎการรีวิวไม่ได้บังคับ แต่แนวทางการออกแบบย้ำว่าผู้ใช้คาดหวังให้แอปทำตามการตั้งค่าของเครื่อง ถ้าคุณบังคับให้เป็นโหมดสว่างหรือมืด ซึ่ง Expo ทำได้ ก็ให้ทดสอบโหมดนั้น ถ้าคุณทำตามการตั้งค่าของเครื่อง ให้ทดสอบทั้งสองโหมด

### อุทธรณ์การปฏิเสธด้วย 4.0 ได้ไหม?

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


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

[Review Kit](https://devoria.fr/th/kits/app-review): เช็กลิสต์รีวิว App Store ของผม การถูก Apple ปฏิเสธที่ผมแก้ไขแล้ว เช็กลิสต์ของ Google Play และ skill ของ Claude Code อีกสามตัว ฿1,849

[iOS & Android Kit](https://devoria.fr/th/kits/ios): สร้างแอป iPhone และ Android ของคุณด้วย Claude Code: โค้ดเริ่มต้นจากแอปของผม เส้นทางจนถึงสโตร์ และชุดคิททั้งหมด ฿3,699

[แบบประเมิน: อะไรกั้นคุณไว้จากแอป iPhone ของคุณ](https://devoria.fr/th/diagnostic): 7 คำถาม 60 วินาที: รู้ว่าอะไรที่ขวางคุณจากการเผยแพร่แอป iPhone จริง ๆ พร้อมเส้นทาง 4 ขั้นตอนและชุดคิทที่เหมาะกับคุณ
