◉RORK LABJP
●GPT-6.1 SOL — Added to Rork's model menu (09-29) with Low, Medium and High effort; included on Pro and Max●SONNET 5.5 — Claude Sonnet 5.5 is selectable: strong at UI design and faster than Sonnet 5 (09-28)●SDK 58 — Beta since 09/15 with no stable date yet; running projects in Expo Go has required login since 09/03●WIDGET — A write-up traces an iOS widget that renders black only in production builds●OBSERVE — EAS Observe now records native crashes too (SDK 57.0.21 or later, 10/07)●NEW — My App Open Ad Only Showed When the App…●GPT-6.1 SOL — Added to Rork's model menu (09-29) with Low, Medium and High effort; included on Pro and Max●SONNET 5.5 — Claude Sonnet 5.5 is selectable: strong at UI design and faster than Sonnet 5 (09-28)●SDK 58 — Beta since 09/15 with no stable date yet; running projects in Expo Go has required login since 09/03●WIDGET — A write-up traces an iOS widget that renders black only in production builds●OBSERVE — EAS Observe now records native crashes too (SDK 57.0.21 or later, 10/07)●NEW — My App Open Ad Only Showed When the App…
Articles/Dev Tools
⬡ Dev Tools/2026-07-11Advanced

Implementing App Clips with Rork Max — delivering the core of your app the moment someone scans a code

Building on the native Swift that Rork Max produces, this note walks through the 15 MB App Clip budget, receiving the launch URL, and handing state off to the full app.

Rork Max236App ClipSwift48iOS116indie development42

✦ Premium Article

Every time I try to show a friend one of my wallpaper apps, I get stuck at the same point. All I want is for them to see a single wallpaper. But first they open the App Store, search, wait for a download, launch the app, and only then reach the first image. By that moment, the initial spark has cooled a little.

I only want to show one wallpaper. Could the install step move behind that one image instead of in front of it? App Clips exist to swap exactly this order around.

Rork Max produces native Swift, which is what makes App Clips reachable at all — they sit in a territory React Native rarely touches. That said, App Clips involve splitting your app into separate targets, so you cannot simply use generated code as-is. You need to understand the structure and edit it deliberately. This note records where those edits go, from an implementation point of view.

What an App Clip actually solves

An App Clip is a small slice of your full app that launches instantly, with no install, showing just one part of what the app does. It launches from a QR code, a dedicated App Clip Code, an NFC tag, or a Smart App Banner on a web page, and presents a single screen in a few seconds.

The important thing is that it is not a "lite" version. Preview one wallpaper, view a restaurant menu, pay for a parking spot. You carve out the single thing the user wants to do right now and leave everything else to the full app. The subtraction of features is itself the design.

From an indie perspective, this is also an experiment in distribution. Print an App Clip Code on a business card or a poster; the person who scans it experiences the core of the app on the spot. The download can wait until after they have tried it and thought, "I want more."

Splitting targets — the first decision that protects your 15 MB

An App Clip ships inside the full app as its own target. This is where you meet the first constraint. An App Clip binary has a strict size ceiling in its uncompressed state.

OSUncompressed App Clip size limit
iOS 16 and later15 MB
iOS 15 and earlier10 MB

15 MB fills up fast once you stack a few real image assets. To stay under it, you share code between the full app and the App Clip while sharply limiting what the Clip actually carries.

In practice, I split it like this. Shared logic — models, the network layer, the single screen's view — goes into a Swift Package or a shared target that both reference. Meanwhile, the heavy dependencies only the full app needs (video playback, analytics SDKs, a billing stack) are not linked into the App Clip target at all. The App Clip's package dependencies are an explicit, minimal list, not a copy of the full app's.

ElementIn the App ClipFull app only
The one preview screen's viewInclude—
Shared models / network layerInclude (shared target)—
Analytics / ad SDKs—Full app only
The full image catalog—Full app only

Images on the App Clip side are not bundled on-device; the Clip fetches just the one image it needs from a parameter in the launch URL. That single act of restraint was the most effective lever for staying under the ceiling.

✦

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
✦How to split targets and prune dependencies so the App Clip stays under 15 MB
✦Receiving the launch URL from a QR code, App Clip Code, or NFC via NSUserActivity and going straight to the right screen
✦Handing the state gathered in the App Clip off to the full app through an App Group and a shared Keychain
Secure payment via Stripe · Cancel anytime
✦

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Rork Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • ✦Copy-paste ready implementation code
  • ✦New advanced guides published daily
  • ✦$5/mo or $10 for lifetime access
View Membership →

Related Articles

⬡ Dev Tools2026-04-05
Rork Max × WidgetKit & Live Activities in Practice — From Home Screen to Dynamic Island
A complete guide to implementing iOS Widgets, Lock Screen widgets, and Dynamic Island Live Activities with Rork Max. Covers WidgetKit fundamentals, Timeline update strategies, App Intents integration, and monetization.
⬡ Dev Tools2026-05-17
Testing Rork Max SwiftUI Features on a Real Wallpaper App — What Worked, What Needed Fixes
I benchmarked Rork Max's SwiftUI generation against the production code of a wallpaper app I actually run. Here is what shipped as-is, what needed fixing, and what I ended up writing by hand — with working code and on-device measurements.
⬡ Dev Tools2026-05-16
Migrating Firebase CocoaPods to SPM in Rork Max Apps
Firebase Apple SDK's CocoaPods distribution ends in October 2026. Here's a detailed migration log from moving 4 Rork Max iOS apps to Swift Package Manager — including dSYM failures, module errors, and the Dropbox conflict copy problem you'll definitely hit.