RORK LABJP
DEADLINE — From August 31, every new app and update on Google Play must target Android 16 (API level 36). Six days to goIOS27 — The seventh developer betas of iOS 27 and macOS 27 landed on August 24, with the public releases due next month. They include Apple Intelligence changes, so it is time to check your own buildsANDROID17 — The Android 17 QPR1 beta fixed a bug that prevented swiping the bottom gesture bar to switch apps after using Circle to SearchFUNDING — On April 9, 2026, Rork announced a $15M seed round led by Left Lane Capital. It also acquired app builder Paperline and signalled it will keep acquiring to bring in engineering talentTRAFFIC — Rork reports over 743,000 monthly visits with 85 percent growth, which suggests its narrow focus on native mobile is paying off among AI app buildersFORECAST — Gartner expects 75 percent of new applications to be built with low-code or no-code in 2026, up from under 25 percent in 2020DEADLINE — From August 31, every new app and update on Google Play must target Android 16 (API level 36). Six days to goIOS27 — The seventh developer betas of iOS 27 and macOS 27 landed on August 24, with the public releases due next month. They include Apple Intelligence changes, so it is time to check your own buildsANDROID17 — The Android 17 QPR1 beta fixed a bug that prevented swiping the bottom gesture bar to switch apps after using Circle to SearchFUNDING — On April 9, 2026, Rork announced a $15M seed round led by Left Lane Capital. It also acquired app builder Paperline and signalled it will keep acquiring to bring in engineering talentTRAFFIC — Rork reports over 743,000 monthly visits with 85 percent growth, which suggests its narrow focus on native mobile is paying off among AI app buildersFORECAST — Gartner expects 75 percent of new applications to be built with low-code or no-code in 2026, up from under 25 percent in 2020
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 Max232App ClipSwift47iOS110indie development36

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 SDKsFull app only
The full image catalogFull 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 $15 for lifetime access
View Membership →

Related Articles

Dev Tools2026-07-18
Your AR Furniture Is Gone by Morning — Persisting Placements with ARWorldMap
AR apps generated by Rork Max lose every placed object on relaunch. Here is the design that fixes it: when to save an ARWorldMap, how to encode custom anchors, how to handle the relocalization wait, and what to do when relocalization simply never lands.
Dev Tools2026-07-13
Losing HealthKit Data on Incremental Sync — Designing HKQueryAnchor Persistence
When step or sleep data double-counts or goes missing on incremental HealthKit sync, the root cause is usually HKQueryAnchor persistence. Here is a working Swift design that handles newAnchor and deletedObjects correctly and stays consistent across reinstalls and background updates.
Dev Tools2026-07-08
Working Around Rork Max's 20-Geofence Wall with Dynamic Re-registration
In a native Swift app generated by Rork Max, geofences you registered quietly stop firing past a certain count — and it's almost always iOS's silent limit of 20 monitored regions per app. Here's a dynamic re-registration design that keeps only the nearest 20 live, plus a Swift implementation you can drop in.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →