Guideline 4.0 Design: app bị Apple từ chối vì giao diện
Bởi Mehdi Azizi
Đăng ngày , 9 phút
Guideline 4.0 Design: Apple từ chối giao diện khó dùng, thường trên iPad. Hãy kiểm tra từng màn hình trên iPhone SE và iPad, sửa lỗi rồi phản hồi.
“Guideline 4.0 - Design” không phải là một quy định được đánh số như các quy định khác: đó là phần mở đầu của mục Design trong quy định của Apple, được viện dẫn khi giao diện của bạn có vẻ dưới mức mong đợi. Các trường hợp bị từ chối được chia sẻ công khai khá giống nhau: màn hình chật chội trên iPad, chữ khó đọc, đăng nhập bị chuyển sang Safari, Sign in with Apple tích hợp sai. Việc sửa lỗi gần như luôn bắt đầu trên đúng thiết bị được nêu trong thông báo, từng màn hình một.
Tôi tự phát hành các app iOS của mình bằng Expo: Solys, TradaZen và Nolera được thiết lập chỉ cho iPhone, vậy mà reviewer vẫn test Solys và Nolera trên iPad. Hướng dẫn này dựa trên văn bản của Apple, trên các lần bị từ chối vì 4.0 mà các developer khác đã chia sẻ, và trên bảng kiểm tra giao diện tôi áp dụng trước mỗi lần gửi. Để có cái nhìn tổng quan về các lý do, hãy đọc vì sao Apple từ chối một app.
Guideline 4.0 Design bao gồm những gì?
Mục 4 của App Review Guidelines mở đầu bằng một đoạn không đánh số: “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.” Đoạn này nói thêm rằng thiết kế là của bạn, nhưng phần tiếp theo đặt ra các “minimum standards for approval”. Nó cũng cảnh báo rằng một app xuống cấp sau khi được duyệt có thể bị gỡ.
Nói đơn giản: Apple muốn một app đơn giản, chỉn chu và dễ dùng, và 4.0 được dùng khi vấn đề không thuộc về quy định con cụ thể nào. Văn bản không đưa ra tiêu chí bằng con số. Tài liệu tham chiếu thực tế là Human Interface Guidelines, bộ quy tắc thiết kế của Apple.
Các trường hợp bị từ chối 4.0 phổ biến nhất
Đây là bốn trường hợp tôi tìm thấy trong các thông báo được chia sẻ trên diễn đàn của Apple, kèm câu chữ được trích dẫn.
| Trường hợp | Câu chữ của Apple | Cách sửa |
|---|---|---|
| Màn hình chật trên iPad | “crowded” | Bố cục linh hoạt |
| Chữ khó đọc | “hard to read type” | Cỡ chữ theo HIG |
| Đăng nhập trong Safari | “taken to Safari” | Đăng nhập trong app |
| Sign in with Apple | Hỏi lại tên | Tên đã được cung cấp |
Màn hình chật chội hoặc bị cắt trên iPad
Thông báo điển hình, được chia sẻ vào tháng 9 năm 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.” Phần tiếp theo nói rõ app chỉ dùng một phần màn hình (chủ đề trên diễn đàn).
Nguyên nhân nằm ở quy định 2.4.1: “iPhone apps should run on iPad whenever possible.” Với Expo, tùy chọn ios.supportsTablet mặc định là false, theo cấu hình app của Expo. Khi đó app iPhone của bạn chạy trên iPad ở chế độ tương thích, trong một cửa sổ có khổ iPhone. Thiết lập app chỉ cho iPhone không giúp nó tránh được việc bị test trên iPad. Chính trên một chiếc iPad Air mà bản demo của Solys trở nên không thể thắng, một trường hợp được kể chi tiết trong hướng dẫn về guideline 2.1.
Có hai lối ra. Hoặc bạn thực sự hỗ trợ iPad, với bố cục co giãn theo không gian có sẵn. Quy tắc thiết kế của Apple yêu cầu quyết định bố cục theo size class, chứ không theo mẫu thiết bị. Hoặc bạn chỉ giữ iPhone, và mọi màn hình phải vừa trong cửa sổ tương thích.
Chữ khó đọc
Thông báo, được chia sẻ vào tháng 1 năm 2025: “Your app included hard to read type or typography.” Apple nhắc lại rằng người dùng mong đợi các app “simple, refined, and easy to use” (chủ đề trên diễn đàn).
Quy tắc typography của Apple đưa ra các mốc trên iOS: mặc định 17 point, tối thiểu 11 point. Quy tắc trợ năng yêu cầu độ tương phản ít nhất 4,5:1 cho chữ đến 17 point, và vùng chạm mặc định 44 x 44 point.
Một cái bẫy nếu bạn thu nhỏ font trên màn hình nhỏ, như tôi làm để giữ cách xuống dòng giống nhau ở mọi nơi: hãy kiểm tra rằng chữ nhỏ nhất của bạn, khi thu nhỏ trên iPhone SE, vẫn giữ ít nhất 11 point.
Đăng nhập bị chuyển sang Safari
Thông báo, được chia sẻ trên diễn đàn của Apple: “We noticed that the user is taken to Safari to sign in or register for an account, which provides a poor user experience.” Apple yêu cầu cho phép đăng ký và đăng nhập ngay trong app, và khuyến nghị dùng một view Safari nhúng.
Với Expo, expo-web-browser đáp ứng cả hai nhu cầu mà không rời app: openAuthSessionAsync mở một phiên xác thực trong cửa sổ modal, còn openBrowserAsync hiển thị trang trong một view Safari nhúng. Ngược lại, mở đăng nhập bằng Linking.openURL sẽ chuyển sang app Safari. Còn việc chọn những phương thức đăng nhập nào thì thuộc về một quy định khác, 4.8.
Sign in with Apple tích hợp sai
Thông báo, được chia sẻ vào tháng 5 năm 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.” (chủ đề trên diễn đàn).
Tài liệu của expo-apple-authentication giải thích cái bẫy: tên và email chỉ được cung cấp ở lần đăng nhập đầu tiên. Hãy lưu chúng ngay lập tức, nếu không bạn sẽ có xu hướng hỏi lại. Hãy dùng luôn nút do thư viện cung cấp: màu của nút chọn bằng buttonStyle và bo góc bằng cornerRadius, không bao giờ qua style.
4.0, 4.2, 4.3: ba kiểu từ chối về thiết kế đừng nhầm lẫn
| Quy định | Điều bị đánh giá | Cách sửa |
|---|---|---|
| 4.0 | Giao diện | Sửa các màn hình |
| 4.2 | Tính hữu ích của app | Thêm nội dung native |
| 4.3 | Sự giống nhau | Đổi ý tưởng |
4.2, Minimum Functionality, yêu cầu tính năng, nội dung và giao diện nâng app lên “beyond a repackaged website”. Ranh giới với 4.0 rất mỏng: một website được bọc thành app có thể dính cả hai. Nếu app của bạn thiếu nội dung thực chất, chỉnh sửa màn hình sẽ không đủ.
4.3 nhắm vào các bản sao và các danh mục đã bão hòa: tôi đã phân tích hai đoạn của nó trong hướng dẫn về guideline 4.3 Design Spam. Một giao diện chỉn chu không cứu được một app giống hệt cả nghìn app khác.
Bảng kiểm tra giao diện trước khi gửi
Đây là thứ tôi thêm vào mỗi lần gửi. Trong các app của tôi, mỗi màn hình được thiết kế cho iPhone lớn nhất, rồi thu nhỏ theo một tỷ lệ duy nhất trên các máy nhỏ hơn: cùng tỷ lệ, cùng cách xuống dòng. Sau đó tôi so sánh các bản hiển thị cạnh nhau: iPhone SE, iPhone tiêu chuẩn, iPhone lớn nhất, và một iPad cho chế độ tương thích.
| Kiểm tra | Thiết bị | Điều phải đạt |
|---|---|---|
| Lần mở đầu tiên | iPhone SE | Không có gì bị cắt |
| Toàn bộ onboarding | iPad | Mọi nút đều bấm được |
| Bàn phím đang mở | iPhone SE | Ô nhập và nút vẫn hiện |
| Chữ phóng to | iPhone tiêu chuẩn | Không có chữ bị cắt cụt |
| Dark Mode | Tất cả | Chữ dễ đọc ở mọi nơi |
| Vùng an toàn | Lớn nhất | Không có gì dưới Dynamic Island |
| Paywall | iPhone SE | Giá và liên kết hiển thị |
| Đăng nhập | iPad | Vẫn ở trong app |
Ba lưu ý:
- Chữ phóng to. Quy tắc typography của Apple đề xuất một bài test đơn giản: bật các cỡ chữ lớn nhất trong Settings, Accessibility, Display & Text Size, rồi kiểm tra mọi thứ vẫn dễ đọc.
- Dark Mode. Quy tắc của Apple về Dark Mode yêu cầu app vẫn dễ đọc ở cả hai giao diện. Expo mặc định áp dụng
lightnếu bạn không thiết lậpuserInterfaceStyle. Solys theo thiết lập của điện thoại, TradaZen luôn tối, Nolera luôn sáng: trong cả ba trường hợp, tôi test giao diện được hiển thị. - Vùng an toàn. Nội dung không được nằm dưới Dynamic Island hay dưới thanh home indicator. Expo trình bày chi tiết cách làm trong hướng dẫn về vùng an toàn.
Trên Mac, simulator có thể chỉnh bằng dòng lệnh, nên chạy lại bảng kiểm tra rất nhanh:
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
Trên điện thoại thật, tôi làm lại đúng vòng đó với một bản build TestFlight. Phương pháp: bảng kiểm tra này là của tôi, xây dựng từ những lần app của tôi bị từ chối, không phải danh sách do Apple cung cấp. Nó giảm bất ngờ nhưng không đảm bảo được duyệt.
Phản hồi một lần bị từ chối 4.0 như thế nào?
- Xác định thiết bị và phiên bản được nêu trong thông báo, rồi mở đúng mẫu máy đó trong simulator.
- Sửa mọi chỗ mắc lỗi. Thông báo điển hình yêu cầu “address all instances” của vấn đề, không chỉ màn hình trong ảnh chụp.
- Gửi một bản build mới: reviewer test code được đóng gói trong app.
- Phản hồi kèm ảnh chụp màn hình trên cùng thiết bị, bằng cách trả lời tin nhắn của App Review.
- Chỉ kháng nghị khi bạn chắc chắn: Apple cho phép gửi lên App Review Board, mỗi lần gửi bị từ chối chỉ được kháng nghị một lần.
Mẫu tôi sẽ dùng, hãy điều chỉnh cho phù hợp:
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,
Chuẩn bị gửi app mà không bị từ chối vì thiết kế
Review Kit gồm checklist trước khi gửi của tôi, trong đó có quy định 2.4.1 về iPad, cùng các skill Claude Code đọc lại dự án của bạn. Nếu muốn một người xem trực tiếp, đặt một giờ với tôi: chúng ta mở các màn hình của bạn trên nhiều kích thước, qua video call. Toàn bộ quy trình sau khi bị từ chối có ở trang app bị Apple từ chối.
Bạn đang chuẩn bị phát hành lần đầu? Làm bài chẩn đoán miễn phí: nó sắp xếp lại các bước theo đúng thứ tự và gửi bạn checklist chống bị Apple từ chối của tôi.
Câu hỏi thường gặp
“Guideline 4.0 - Design” trong thông báo từ chối có nghĩa là gì?
Apple đánh giá giao diện của bạn dưới mức mong đợi, mà không nhắm vào một quy định con cụ thể: màn hình chật chội, chữ khó đọc, luồng đăng nhập bị coi là kém. Thông báo thường nêu thiết bị đã dùng và hay kèm một ảnh chụp màn hình.
App của tôi chỉ thiết lập cho iPhone: sao Apple lại test trên iPad?
Vì quy định 2.4.1 muốn app iPhone chạy được trên iPad bất cứ khi nào có thể. App của bạn mở trên đó ở chế độ tương thích, trong một cửa sổ khổ iPhone, và mọi màn hình phải vẫn dùng được.
Có cần bản build mới sau khi bị từ chối 4.0 không?
Có, trong hầu hết trường hợp. Reviewer test code được đóng gói trong app ở lần mở đầu tiên, và một bản sửa gửi từ xa có thể không đến được với họ. Tôi giải thích điều này trong hướng dẫn về guideline 2.1.
Dark Mode có bắt buộc để được duyệt không?
Văn bản quy định review không bắt buộc. Quy tắc thiết kế nhắc rằng người dùng mong app theo thiết lập của họ. Nếu bạn ép giao diện sáng hoặc tối, như Expo cho phép, hãy test giao diện đó. Nếu bạn theo thiết lập của điện thoại, hãy test cả hai.
Có thể kháng nghị một lần bị từ chối 4.0 không?
Có, lên App Review Board, nếu bạn cho rằng app của mình tuân thủ quy định. Apple yêu cầu lý do cụ thể, mỗi lần gửi bị từ chối chỉ kháng nghị một lần, và phải trả lời các yêu cầu cung cấp thông tin trước.

