All Articles
Why a Rork Companion App Stops Opening After a Few Days — and How to Fix It
An app you pushed to your iPhone with Rork Companion shows 'Untrusted Developer,' or simply refuses to launch a few days later. Here is why free Apple account signing expires after about seven days, and the practical fixes — trust it, re-push, or move to a paid account — from an indie developer's point of view.
Rork Max Cloud Compilation — Shipping Native Apps Without Owning a Mac
How Rork Max's cloud compilation lets you build, device-test, and publish native iOS/iPadOS apps without a local Mac — including how to triage failed builds and when you should still keep a real Mac around.
Long-Form On-Device Transcription with SpeechAnalyzer in Rork Max's Native Swift
Implementation notes on rebuilding long-form, offline transcription with iOS 26's SpeechAnalyzer and SpeechTranscriber after hitting the walls of SFSpeechRecognizer. Covers model asset downloads, feeding audio through an AsyncStream, drawing volatile vs. final results, and the boundary design for Rork Max native code and bridging from Expo — with the pitfalls I actually hit.
Making the Block Screen Feel Like Your Own App — ShieldConfiguration and Button Handling in Rork Max
Replace the plain gray shield that screen-time apps show with something that speaks in your app's voice. This walks through swapping the UI with a ShieldConfiguration extension and controlling the buttons with ShieldAction, wired into a Rork Max native setup.
Building an AlarmKit Timer in Rork Max's Native Swift — Alerts That Cut Through Silent Mode and Focus
Implementation notes on solving the 'local notifications stay silent in Silent Mode and Focus' problem with iOS 26's AlarmKit. Covers authorization, scheduling a countdown, the Live Activity for the Lock Screen and Dynamic Island, and listing active timers in Swift — plus the boundary design for Rork Max native code and bridging from Expo, with the pitfalls I actually hit.
Take One Contact, Not the Whole Book — iOS 18's ContactAccessButton
iOS 18 adds a limited tier to contacts access. With ContactAccessButton you can receive just the one contact a user picks, without ever asking for the whole address book. Assuming the native Swift Rork Max generates, here is the design and implementation.
Building a Native Bluetooth Pairing Sheet with AccessorySetupKit
iOS 18's AccessorySetupKit lets you pair a single, specific device through a system sheet without the broad Bluetooth permission prompt. Assuming the native Swift that Rork Max generates, here is the path from declaration to picker to connection, with working code.
Holding App Store Messages Until the Right Moment
Price-increase consent, billing-issue, and win-back messages from the App Store appear right at launch by default. Here is how to take control of StoreKit 2 Messages and defer them until a moment that does not interrupt onboarding or checkout, with working Swift.
When Your Rork Hybrid AI Quietly Drifts to the Cloud and the Bill Creeps Up — Field Notes on Instrumenting Routing Decisions
A router that splits work across on-device, edge, and cloud layers will quietly drift toward the cloud when no one logs its decisions — flat traffic, rising bill. These are field notes on instrumenting routing to isolate the cause.
Answering a Refund Request Within 12 Hours: Handling CONSUMPTION_REQUEST in Cloudflare Workers
How to receive the App Store CONSUMPTION_REQUEST notification for your Rork subscription app in Cloudflare Workers and respond to the Send Consumption Information API within 12 hours — with field-by-field mapping and the operational judgment behind it.
Screening Images On Device Before They Appear — Notes on SensitiveContentAnalysis
Implementation notes on blocking inappropriate images before they render, right on the device, for apps that handle AI-generated or user-submitted photos. Covers calling Apple's SensitiveContentAnalysis framework from Swift and wiring it into Rork Max native code or an Expo native module, with the pitfalls I actually hit.
Adding Home-Screen Quick Actions to a Rork App — dynamic items without cold-launch drops
How to implement the long-press quick actions on a Rork (Expo) app icon. Covers static vs dynamic items, the iOS/Android differences, and the cold-launch problem where the action arrives before the router is ready — solved with a hold-and-replay design.