RORK LABEN
TOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しましたTOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しました
記事一覧/開発ツール
開発ツール/2026-04-26中級

Rork Max のアプリに iOS 26 の Liquid Glass を取り入れる — 実機で 3 本検証して見えた使いどころと落とし穴

Rork Max で生成した SwiftUI アプリに iOS 26 の Liquid Glass を組み込み、実機で公開まで進めて気付いた点をまとめました。glassEffect の使いどころ、フォールバック、よくある UI 崩れの避け方を実例で整理します。

Rork Max229iOS 264Liquid Glass3SwiftUI63ネイティブアプリ20

Rork Max が生成する SwiftUI コードに、iOS 26 から導入された Liquid Glass を取り入れて、3 本のアプリを App Store に公開してみました。事前に思っていたより Rork Max は Liquid Glass の流儀に近い API を素直に出してくれる一方で、慣れていないと「気持ち良いはずの新エフェクトが、なぜか目立ちすぎて UI が散らかる」場面にも遭遇します。本記事はその実機検証で見えた、使いどころと落とし穴の記録です。

Liquid Glass を「いつ使うか」をまず決める

Liquid Glass は背景を歪ませながら半透明に見せる視覚効果で、iOS 26 のシステム UI(コントロールセンター・通知・タブバーなど)で全面的に採用されました。アプリ側で同じ質感を出すには、SwiftUI の .glassEffect() モディファイアと、複数要素をまとめてマテリアルを共有する GlassEffectContainer を組み合わせます。

私の感覚としては、まず「Liquid Glass を使う面」と「使わない面」を最初に決めておくのが一番効果的でした。全画面で多用するとアプリ全体がギラギラして読みづらくなり、逆にどこにも使わないと iOS 26 の世界観から浮いた古いアプリに見えます。3 本作って落ち着いた基準は次の通りです。

  • 使う: ボトムタブ、フローティングアクションボタン、再生コントロール、共有シートのように「常時表示される操作 UI」
  • 使わない: 記事本文、リスト、設定画面のように「読むことが目的のコンテンツ領域」
  • 慎重に使う: モーダル上のボタン群(背景色が変わる場面ではコントラストを必ず再確認)

Rork Max で作る SwiftUI ネイティブ iOS アプリ開発ガイド の流儀に沿って画面を切ってあれば、上記の境界はほぼそのまま当てはめられます。

Rork Max への伝え方 — プロンプトの一行が仕上がりを変える

Rork Max は自然言語のプロンプトから SwiftUI コードを生成するため、Liquid Glass を使うかどうかも文章で指示します。私が落ち着いた書き方は、画面ごとに次の 2 行を添えるパターンです。

「ボトムタブとフローティング再生コントロールには iOS 26 の glassEffect を適用し、GlassEffectContainer でまとめてください。本文リストは通常の背景のままにしてください。」

こう書いておくと、Rork Max は次のような形のコードを返してくれます。

// MiniPlayer.swift — Rork Max が生成した再生コントロール
struct MiniPlayer: View {
    var body: some View {
        GlassEffectContainer(spacing: 12) {
            HStack(spacing: 16) {
                Button(action: togglePlay) {
                    Image(systemName: "play.fill")
                        .font(.title3)
                }
                .glassEffect(.regular.interactive())
 
                Text("Now Playing — Sample Track")
                    .lineLimit(1)
                    .frame(maxWidth: .infinity, alignment: .leading)
 
                Button(action: skipForward) {
                    Image(systemName: "forward.fill")
                }
                .glassEffect(.regular)
            }
            .padding(.horizontal, 16)
            .padding(.vertical, 10)
        }
        .padding(.horizontal, 12)
    }
    private func togglePlay() {}
    private func skipForward() {}
}

期待する見え方は、ボタン群が一つの「ガラスの板」として浮かび上がり、スクロール背景の色が透けて伝わる状態です。.regular.interactive() を付けたボタンはタップに合わせて軽く沈む反応が出るので、操作対象であることが直感的に伝わります。

iOS 26 未満をどう扱うか — フォールバックの最小実装

Apple の最新統計でも、リリース直後は iOS 26 のシェアは半分前後にとどまります。私のアプリの実機ログでも、初週は iOS 25 以前が約 40 % 残っていました。Liquid Glass は iOS 26 専用 API なので、未満では別の表現に差し替える必要があります。

最小限のフォールバックは、ビュー拡張で 1 か所にまとめる形が扱いやすいです。

// View+GlassFallback.swift — iOS 25 以下では .ultraThinMaterial に降格
extension View {
    @ViewBuilder
    func appGlassEffect() -> some View {
        if #available(iOS 26.0, *) {
            self.glassEffect(.regular)
        } else {
            self.background(.ultraThinMaterial, in: Capsule())
        }
    }
}

呼び出し側は .glassEffect(.regular) の代わりに .appGlassEffect() を使うだけです。Rork Max にも「.glassEffect の呼び出しは appGlassEffect 拡張を経由させてください」と一行添えるだけで、生成コード全体がフォールバック対応になります。期待する出力として、Cannot find 'glassEffect' in scope のビルドエラーが iOS 25 SDK でも消えていれば成功です。

実機で気付いた、3 つの典型的な崩れ方

3 本のアプリを TestFlight に出して、外部のテスターから戻ってきたフィードバックで多かったのが次の 3 点でした。Rork Max の生成結果が悪いというより、Liquid Glass そのものの性格に起因する崩れ方です。

1 つ目は、白っぽい背景の上に置いたガラスボタンが「見えなくなる」現象 です。Liquid Glass は背景の輝度を増幅する性質があるため、白の上では境界が消えがちです。対処は単純で、ボタンの後ろに薄い影 .shadow(color: .black.opacity(0.08), radius: 8, y: 2) を入れるか、背景色を .systemGroupedBackground のようにわずかに灰色寄りにすることです。

2 つ目は、スクロール時にちらつく現象 です。原因の多くは GlassEffectContainer の外で別々に .glassEffect() を当ててしまっているケースでした。グループ化されない複数のガラスは、相互に背景を再計算するためフレーム落ちが起きやすくなります。同じ列に並ぶボタンは必ず Container でまとめるとほぼ解消します。

3 つ目は、アクセシビリティ設定で「透明度を下げる」を有効にしているユーザーの画面が真っ白に見える問題 です。これは検証中に自分でも一度ハマりました。UIAccessibility.isReduceTransparencyEnabled を見て、有効時は .appGlassEffect() の中で Color(.systemBackground).opacity(0.95) に置き換えると安全側に倒せます。読者が時間を割いて使ってくれているアプリで、設定が原因で何も読めない状態は避けたいので、ここは必ず入れています。

App Store 審査でリジェクトされたわけではないものの、レビューで「ボタンが見えない」と書かれると一気に評価が下がります。可読性は Liquid Glass よりも優先するべき、というのが実機検証の結論でした。

Rork Max のアップデートで吹き飛ばさないために

Rork Max は再生成のたびにファイルを書き換えるため、手で入れた appGlassEffect 拡張やフォールバック処理が消えてしまうことがあります。私は「Rork Max が触らない場所」をプロジェクト内に明示的に決めて、そこに防衛コードを置く運用に落ち着きました。

具体的には、Sources/AppExtensions/ のような名前のフォルダを切り、そこに拡張・カラー定義・アクセシビリティ判定をまとめます。Rork Max には「Sources/AppExtensions/ 以下のファイルは編集しないでください」と指定しておくと、再生成しても拡張は残ります。Xcode 側でさらに細かく調整したい方は、Rork Max × Xcode のネイティブ最適化ワークフロー で、再生成時のマージ戦略をもう一段深掘りしています。

なお、Apple Intelligence と組み合わせた UI を考えている方は、Rork Max で構築する Apple Intelligence 対応アプリ も合わせて読むと、Writing Tools のシートの上にどうガラスを重ねるか、設計の参考になります。

まずは「ボトムタブだけ Liquid Glass」から始める

3 本作ってみて一番素直だったのは、いきなり全画面に取り入れず、ボトムタブ 1 か所だけ Liquid Glass にする スタートでした。これだけで iOS 26 らしい印象がぐっと出ますし、可読性のリスクもほぼありません。Rork Max にプロンプトで一行追加するだけで実装できるので、まずは普段使っているアプリを 1 本だけ TestFlight に出して、自分の目で iOS 26 の質感を確かめてみてください。そこから「次はフローティング操作系も」と段階的に広げる進め方が、結果として一番事故が少なかったです。

シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

開発ツール2026-05-05
iOS 26 Liquid Glass に対応したら既存 UI が崩れた — Rork Max アプリの修正手順
iOS 26 の Liquid Glass 対応後にナビゲーションバー消失・カラー崩れ・フローティングタブバーのレイアウトズレが起きたときの原因と、Rork Max への具体的な修正プロンプトを解説します。
開発ツール2026-05-17
Rork Max の SwiftUI 機能を壁紙アプリ開発で検証した結果 — 実際に動いた機能と手を入れた機能
累計5,000万DLの壁紙アプリを開発してきた立場で、Rork MaxのSwiftUIネイティブ生成機能を実際に検証しました。「動いた機能」「手を入れた機能」「生成を諦めた機能」を具体的なコードと共に解説します。
開発ツール2026-04-26
Rork Max の SwiftUI 生成は AI 機能とどう連動しているか — 出力品質を左右する 7 つのプロンプト設計
Rork Max の SwiftUI 生成と AI 機能は別々の機能ではなく、同じ AI レイヤーの上で動いています。同じ要件を伝えても出力品質が変わる理由と、私が現場で使っている 7 つのプロンプト設計を実例付きで紹介します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →