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-05-17上級

Rork Max の SwiftUI 機能を壁紙アプリ開発で検証した結果 — 実際に動いた機能と手を入れた機能

累計5,000万DLの壁紙アプリを開発してきた立場で、Rork MaxのSwiftUIネイティブ生成機能を実際に検証しました。「動いた機能」「手を入れた機能」「生成を諦めた機能」を具体的なコードと共に解説します。

Rork Max229SwiftUI63ネイティブアプリ20壁紙アプリ28個人開発186iOS開発15検証レポート

プレミアム記事

Rork Max の SwiftUI ネイティブ生成機能を使い始めて、最初に感じたのは「ここまで動くのか」という驚きでした。次に感じたのは「ここから先は手を入れないといけない」という現実でした。

私は2013年からスマートフォンアプリの個人開発を続けており、累計5,000万DLを超えるアプリ群のうち、壁紙・ヒーリング系のiOSアプリ4本を今も運営しています。Beautiful HD Wallpapers や Ukiyo-e Wallpapers といったアプリの開発を通じて、UIKit から SwiftUI への移行、AdMob メディエーション、StoreKit 2 対応など、実際の本番環境でしか分からない問題に繰り返し向き合ってきました。

その経験をベースに、Rork Max の SwiftUI 生成が「実際の本番開発」の文脈でどこまで使えるのかを検証しました。比較軸は単純です。私が実際に動かしているアプリに存在する機能を、Rork Max に同じ要件で作らせてみた、ということです。


検証の前提条件と環境

検証に使ったのは次の環境です。Rork Max は2026年5月時点の最新バージョン、Xcode 16.3(macOS Sequoia)、iPhone 16 Pro の実機と iOS シミュレータ(iOS 18.3)を組み合わせて使いました。対象の機能は Beautiful HD Wallpapers の主要UI群です。

Beautiful HD Wallpapers は2013年にリリースして以来、継続的にアップデートを続けているアプリで、2026年5月に v2.1.0 をリリースしたばかりです。このアップデートでは、v2.0.0 リリース後に顕在化した RecyclerView の IndexOutOfBoundsException(28日間で50ユーザー以上に影響)、Glide 5.0.5 + AGP 9.x 環境での Java 8 Supplier の NoClassDefFoundError(Android 6.0.1 ユーザー全員のクラッシュの原因)といった問題を修正しました。いずれも実運用でしか遭遇しないタイプのバグです。

iOSアプリ側は SwiftUI と UIKit の混在構成で動いています。Rork Max の SwiftUI 生成がどこまでこの「実際の複雑さ」に近づけるのかを確認することが目的でした。


「そのまま使えた」機能 — 生成コードの完成度が高かったケース

壁紙グリッドレイアウト(LazyVGrid)

壁紙一覧を表示する LazyVGrid は、生成クオリティが最も高かった機能の一つです。要件として渡したのは「3カラムのグリッド、各セルは正方形で角丸あり、タップでフルスクリーン遷移、無限スクロールで追加ロード」というシンプルな説明でした。

Rork Max が出力したコードの骨格はほぼ以下の形でした。

struct WallpaperGridView: View {
    @StateObject private var viewModel = WallpaperViewModel()
    let columns = [GridItem(.flexible()), GridItem(.flexible()), GridItem(.flexible())]
 
    var body: some View {
        ScrollView {
            LazyVGrid(columns: columns, spacing: 4) {
                ForEach(viewModel.wallpapers) { wallpaper in
                    WallpaperCell(wallpaper: wallpaper)
                        .onAppear { viewModel.loadMoreIfNeeded(current: wallpaper) }
                }
            }
            .padding(4)
        }
        .onAppear { viewModel.fetchWallpapers() }
    }
}
 
struct WallpaperCell: View {
    let wallpaper: Wallpaper
    @State private var showDetail = false
 
    var body: some View {
        AsyncImage(url: URL(string: wallpaper.thumbnailURL)) { image in
            image.resizable().aspectRatio(1, contentMode: .fill)
        } placeholder: {
            Color.gray.opacity(0.3)
        }
        .clipShape(RoundedRectangle(cornerRadius: 8))
        .onTapGesture { showDetail = true }
        .fullScreenCover(isPresented: $showDetail) {
            WallpaperDetailView(wallpaper: wallpaper)
        }
    }
}

この構造は私が実際に使っているコードに非常に近い形です。onAppear ベースのページネーションも正しいアプローチで実装されていました。実際の本番コードとの主な差異は ViewModel の細部(ページネーションのオフセット管理、エラーハンドリング)でしたが、これは要件として渡していない部分なので当然です。UIの骨格は正確に出てきました。

フルスクリーン壁紙プレビュー(ピンチズーム付き)

壁紙アプリの核となるフルスクリーンプレビューも、精度が高かった機能の一つです。ピンチズームと壁紙設定ボタン群まで含めて、実用できるレベルのコードが生成されました。

struct WallpaperDetailView: View {
    let wallpaper: Wallpaper
    @State private var scale: CGFloat = 1.0
    @State private var lastScale: CGFloat = 1.0
    @Environment(\.dismiss) private var dismiss
 
    var body: some View {
        ZStack(alignment: .topTrailing) {
            GeometryReader { geometry in
                AsyncImage(url: URL(string: wallpaper.fullURL)) { image in
                    image
                        .resizable()
                        .aspectRatio(contentMode: .fit)
                        .frame(maxWidth: .infinity, maxHeight: .infinity)
                        .scaleEffect(scale)
                        .gesture(
                            MagnificationGesture()
                                .onChanged { value in scale = lastScale * value }
                                .onEnded { value in
                                    lastScale = scale
                                    if scale < 1.0 { scale = 1.0; lastScale = 1.0 }
                                    if scale > 5.0 { scale = 5.0; lastScale = 5.0 }
                                }
                        )
                } placeholder: {
                    ProgressView().frame(maxWidth: .infinity, maxHeight: .infinity)
                }
            }
            .ignoresSafeArea()
            .background(Color.black)
 
            Button(action: { dismiss() }) {
                Image(systemName: "xmark.circle.fill")
                    .font(.title)
                    .foregroundColor(.white)
                    .padding()
            }
        }
    }
}

スケール制限(1.0〜5.0)は仕様に含めていなかったにもかかわらず、自動的に生成されていました。「壁紙アプリのフルスクリーンビューア」という文脈から適切な設計を推論していることがわかります。


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

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
Rork MaxのSwiftUI生成が実際の本番コードとどう違うのか、壁紙アプリ開発の実体験から具体的に把握できる
「そのまま使える機能」と「手を加えないと動かない機能」の見分け方と、手直しの優先順位がわかる
累計5,000万DLアプリで蓄積したUIKit→SwiftUI移行の判断軸を、Rork Max活用に応用する方法を習得できる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

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

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

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

関連記事

開発ツール2026-03-29
Rork Max で SwiftUI ネイティブアプリを開発する手順
Rork Max の AI エンジンで、ネイティブ Swift/SwiftUI コードを自動生成し、iPhone・iPad・Apple Watch・Vision Pro に対応するアプリを開発する手法を解説します。
AI モデル2026-04-23
Rork Max で作るネイティブ SwiftUI アプリ — Xcodeなしで個人開発者が本当にできること
Rork Max で SwiftUI ネイティブ iOS アプリを作る流れを、個人開発者の実務視点で解説します。React Native 版との違い、App Store 公開までの2クリック公開フロー、Vision Framework や Core ML を組み込む手順、そして向かないケースまで整理しました。
開発ツール2026-05-12
Rork Max で複数アプリ共通UIライブラリを Swift Package Manager で構築する実践ガイド
壁紙・癒し系など複数アプリを運営する個人開発者が Swift Package Manager で共通UIライブラリを設計し、Rork Max 生成コードの重複を排除した実践手順を詳解。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →