# Guideline 4.0 Design：App 因介面被 Apple 退件

> Apple 以 4.0 退件，代表介面被認為難以使用，常發生在 iPad。逐一在 iPhone SE 和 iPad 上測試每個畫面，修正後再回覆。

原始頁面：[Guideline 4.0 Design：App 因介面被 Apple 退件](https://devoria.fr/zh-hant/blog/guideline-4-0-design-app-rejected-interface)
作者：[Mehdi Azizi](https://devoria.fr/zh-hant/mehdi-azizi)
發布日期：2026-11-04
內容最後修訂：2026-11-04


「Guideline 4.0 - Design」跟其他有編號的規則不太一樣：它是 Apple 規範中 Design 章節的開頭段落，當你的介面看起來達不到應有水準時就會被引用。公開的退件案例都很類似：iPad 上畫面擠成一團、文字難以閱讀、登入被導向 Safari、Sign in with Apple 整合得不好。**修正幾乎都要從訊息中提到的裝置開始，一個畫面一個畫面處理。**

我自己用 Expo 發布 iOS App：Solys、TradaZen 和 Nolera 都只設定支援 iPhone，但審核人員還是在 iPad 上測試了 Solys 和 Nolera。這篇指南根據 Apple 的官方文字、其他開發者公開的 4.0 退件案例，以及我每次送審前都會跑一遍的視覺檢查表。想看所有退件原因的總覽，請讀 [Apple 為什麼退件你的 App](https://devoria.fr/zh-hant/blog/apple-app-rejection-reasons-real-cases)。

## Guideline 4.0 Design 涵蓋哪些範圍？

[App Review Guidelines](https://developer.apple.com/app-store/review/guidelines/#design) 第 4 節開頭是一段沒有編號的文字：「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」。它也警告，通過審核後品質變差的 App 可能會被下架。

簡單說：**Apple 期待的是簡單、精緻、好用的 App，而當問題不屬於任何明確的子規則時，就會用 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」   | 在 App 內登入    |
| Sign in with Apple | 重複要求姓名          | 使用已提供的姓名 |

### iPad 上畫面擁擠或被截斷

典型訊息，2025 年 9 月公開：「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.」後面還說明 App 只用到螢幕的一部分（[論壇討論串](https://developer.apple.com/forums/thread/800657)）。

原因在於規則 2.4.1：「iPhone apps should run on iPad whenever possible.」根據 [Expo 的 App 設定](https://docs.expo.dev/versions/latest/config/app/)，`ios.supportsTablet` 預設為 `false`。這時你的 iPhone App 會以相容模式在 iPad 上執行，顯示在 iPhone 尺寸的視窗裡。**把 App 設成只支援 iPhone，並不能讓它免於在 iPad 上被測試。** Solys 的 Demo 就是在 iPad Air 上變得完全過不了關，這個案例我在 [guideline 2.1](https://devoria.fr/zh-hant/blog/app-store-guideline-2-1-rejection-fix) 的指南裡有詳細說明。

有兩條路。第一，真正支援 iPad，讓版面隨可用空間調整。Apple 的設計規範要求依照尺寸類別（size class）決定版面，而不是依裝置型號。第二，維持只支援 iPhone，但每個畫面都必須在相容模式視窗裡正常顯示。

### 文字難以閱讀

訊息，2025 年 1 月公開：「Your app included hard to read type or typography.」Apple 在裡面提醒，使用者期待 App「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)要求 17 點以下的文字對比度至少 4.5:1，觸控區域預設 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 要求在 App 內完成註冊和登入，並建議使用內嵌的 Safari 視圖。

用 Expo 的話，[expo-web-browser](https://docs.expo.dev/versions/latest/sdk/webbrowser/) 可以在不離開 App 的情況下滿足這兩種需求：`openAuthSessionAsync` 會在模態視窗中開啟驗證工作階段，`openBrowserAsync` 則在內嵌 Safari 視圖中顯示網頁。相反地，用 `Linking.openURL` 開啟登入頁會把使用者送到 Safari App。至於要提供哪些登入方式，那是另一條規則 4.8 的範圍。

### Sign in with Apple 整合不當

訊息，2024 年 5 月公開：「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/) 的文件說明了這個陷阱：姓名和 email 只會在第一次登入時提供。**請立刻把它們存起來**，不然你會忍不住再問使用者一次。另外要使用函式庫提供的按鈕：顏色用 `buttonStyle` 設定，圓角用 `cornerRadius`，絕對不要用 `style`。

## 4.0、4.2、4.3：三種別搞混的設計類退件

| 規則 | 評判的重點   | 修正方式     |
| ---- | ------------ | ------------ |
| 4.0  | 介面         | 修正畫面     |
| 4.2  | App 的實用性 | 加入原生內容 |
| 4.3  | 相似度       | 換一個概念   |

[4.2 Minimum Functionality](https://devoria.fr/zh-hant/blog/guideline-4-2-minimum-functionality-app-rejected) 要求功能、內容和介面要讓 App 提升到「beyond a repackaged website」的程度。它和 4.0 的界線很模糊：包成 App 的網站可能兩條都會吃到。**如果你的 App 缺乏實質內容，光修畫面是不夠的。**

4.3 針對的是抄襲和飽和的類別：我在 [guideline 4.3 Design Spam](https://devoria.fr/zh-hant/blog/guideline-4-3-design-spam-rejected) 的指南中詳細說明了它的兩個條款。介面再精緻，也救不了一個跟其他一千個長得一樣的 App。

## 送審前的視覺檢查表

這是我每次送審都會加上的步驟。在我的 App 裡，每個畫面都以最大的 iPhone 為基準設計，再在較小的裝置上用單一比例縮小：比例相同，換行位置也相同。接著我把畫面並排比較：iPhone SE、標準 iPhone、最大的 iPhone，再加一台 iPad 看相容模式。

| 檢查項目        | 裝置        | 必須符合的條件                 |
| --------------- | ----------- | ------------------------------ |
| 首次啟動        | iPhone SE   | 沒有任何東西被截斷             |
| 完整 Onboarding | iPad        | 每個按鈕都按得到               |
| 鍵盤開啟        | iPhone SE   | 輸入欄和按鈕都看得到           |
| 放大文字        | 標準 iPhone | 沒有文字被截斷                 |
| 深色模式        | 全部        | 所有文字都清楚可讀             |
| 安全區域        | 最大尺寸    | 沒有東西被 Dynamic Island 擋住 |
| Paywall         | iPhone SE   | 價格和連結都看得到             |
| 登入            | iPad        | 一直留在 App 內                |

三點補充：

- **放大文字。** Apple 的字體規範提供了一個簡單測試：在 Settings > Accessibility > Display & Text Size 中開啟最大的文字尺寸，然後確認所有內容仍然可讀。
- **深色模式。** [Apple 的深色模式規範](https://developer.apple.com/design/human-interface-guidelines/dark-mode)要求 App 在兩種外觀下都要清楚可讀。如果你沒設定 `userInterfaceStyle`，Expo 預設會套用 `light`。Solys 跟隨手機的設定，TradaZen 固定深色，Nolera 固定淺色：三種情況下，我都會測試實際顯示的外觀。
- **安全區域。** 內容不能跑到 Dynamic Island 或主畫面指示條底下。Expo 在它的[安全區域](https://docs.expo.dev/develop/user-interface/safe-areas/)指南中有詳細說明做法。

在 Mac 上，模擬器可以用指令列設定，讓這份檢查表能快速重跑：

```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
```

在實機上，我會用 [TestFlight](https://devoria.fr/zh-hant/blog/testflight-test-iphone-app-before-review) 的 build 再跑一次同樣的流程。方法說明：這份檢查表是我自己根據我的 App 被退件的經驗整理的，不是 Apple 提供的清單。它能減少意外，但不保證一定通過。

## 被 4.0 退件該怎麼回覆？

1. **找出訊息中提到的裝置和版本**，然後在模擬器中開啟同一個型號。
2. **修正所有出現的地方。** 典型訊息會要求你「address all instances」，不只是截圖中的那個畫面。
3. **送出新的 build**：審核人員測試的是打包在 App 裡的程式碼。
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/zh-hant/kits/app-review) 收錄了我的送審前檢查清單（其中包括關於 iPad 的規則 2.4.1），以及會幫你檢查專案的 Claude Code skills。如果想要真人幫你看，[跟我預約一小時](https://devoria.fr/zh-hant/coaching)：我們會透過視訊，在多種尺寸上打開你的畫面。被退件後的完整處理流程，請看 [App 被 Apple 退件](https://devoria.fr/zh-hant/expertise/app-rejected-by-apple)這一頁。

正在準備你的第一次上架？[來做免費診斷](https://devoria.fr/zh-hant/diagnostic)：它會幫你把步驟排好順序，並寄給你我的 Apple 防退件檢查清單。

## 常見問題

### 退件訊息中的「Guideline 4.0 - Design」是什麼意思？

Apple 認為你的介面低於應有水準，但沒有指向某條明確的子規則：畫面擁擠、文字難讀、登入流程被認為體驗不佳。訊息通常會寫出使用的裝置，也常會附上截圖。

### 我的 App 只設定支援 iPhone，為什麼 Apple 會在 iPad 上測試？

因為規則 2.4.1 要求 iPhone App 盡可能要能在 iPad 上執行。你的 App 會以相容模式在 iPad 上開啟，顯示在 iPhone 尺寸的視窗中，而每個畫面都必須在那裡仍然可以正常使用。

### 被 4.0 退件後需要送新的 build 嗎？

是的，大多數情況都需要。審核人員測試的是首次啟動時打包在 App 裡的程式碼，遠端推送的修正他可能看不到。這部分我在 guideline 2.1 的指南中有說明。

### 一定要支援深色模式才能通過審核嗎？

審核規範的文字並沒有強制要求。設計規範則提醒，使用者會期待 App 跟隨他們的設定。如果你像 Expo 允許的那樣強制使用淺色或深色，就測試那個外觀。如果你跟隨手機的設定，兩種都要測。

### 被 4.0 退件可以申訴嗎？

可以，如果你認為 App 符合規範，可以向 App Review Board 申訴。Apple 要求提出明確的理由，每次被退件的送審只能申訴一次，而且要先回覆對方要求補充的資訊。


## 你的專案

[Review Kit](https://devoria.fr/zh-hant/kits/app-review)：我的 App Store 審查檢查清單、我被 Apple 退件後的修正、Google Play 檢查清單，以及三個 Claude Code skill。$1,749。

[iOS & Android Kit](https://devoria.fr/zh-hant/kits/ios)：用 Claude Code 打造你的 iPhone 和 Android App：我自己 App 的起始程式碼、上架商店的完整流程，以及所有套件。$3,599。

[診斷：你離自己的 iPhone App 還差什麼](https://devoria.fr/zh-hant/diagnostic)：7 個問題，60 秒：找出真正卡住你發布 iPhone App 的原因，拿到你的 4 步驟路線，以及最適合你的套件。
