RORK LABJP
SDK58 — The Expo SDK 58 beta is open. It adopts the iOS 27 UIScene lifecycle, and R8 is now on by default for Android release buildsSWIFT — Rork no longer creates new Expo projects. New apps are Swift, Kotlin or React, and existing Expo projects keep building as before11/01 — Forty-two days remain for anyone who filed an extension on Google Play's target API level. Miss it and new users on newer devices stop seeing the appEXPOGO — Scanning the QR code in Expo Go stopped working for some people. Since September 3, iOS requires you to be signed in on both the terminal and the appNEW — What I changed when prebuild stopped and asked for the standard Swift AppDelegateXCODE27 — Xcode 27 is not required yet. The latest EAS Build image is still 26.6, and the 27 image is listed as coming soonSDK58 — The Expo SDK 58 beta is open. It adopts the iOS 27 UIScene lifecycle, and R8 is now on by default for Android release buildsSWIFT — Rork no longer creates new Expo projects. New apps are Swift, Kotlin or React, and existing Expo projects keep building as before11/01 — Forty-two days remain for anyone who filed an extension on Google Play's target API level. Miss it and new users on newer devices stop seeing the appEXPOGO — Scanning the QR code in Expo Go stopped working for some people. Since September 3, iOS requires you to be signed in on both the terminal and the appNEW — What I changed when prebuild stopped and asked for the standard Swift AppDelegateXCODE27 — Xcode 27 is not required yet. The latest EAS Build image is still 26.6, and the 27 image is listed as coming soon
ARTICLES

All Articles

All (1024) Getting Started (95) Dev Tools (527) AI Models (114) Business (183) App Dev (105)
Dev Tools/2026-05-30Advanced

Growing a Staged OTA Update System Without Breaking It

Shipping an EAS Update to every user at once is dangerous. From channel design to staged rollout to automatic rollback, here is the delivery architecture I settled on across 50M cumulative downloads, with working code.

Dev Tools/2026-05-29Advanced

Bringing ProMotion 120Hz to a Wallpaper App — Implementation Notes on CADisableMinimumFrameDurationOnPhone and Reanimated v3

Implementation notes from making a Rork-generated wallpaper app run at 120Hz on ProMotion devices. Covers Info.plist setup, Expo config plugins, Reanimated v3 worklets, FlashList scroll gotchas, and AdMob eCPM lift measured across six wallpaper apps.

App Dev/2026-05-29Intermediate

Two Weeks of Maintenance After v2.1.0 — Running Crashlytics Triage Through Claude in Chrome

Notes from operating Beautiful 4K/HDR Wallpapers v2.1.0 and Ukiyo-e Wallpapers v1.8.0 through phased rollout. Defensive RecyclerView copies, Glide desugaring, drawable-nodpi placement, and what I now hand off to Claude in Chrome every morning.

Dev Tools/2026-05-29Intermediate

Diagnosing 'Network request failed' That Only Hits Android Emulator in Rork

Your fetch returns fine in the iOS simulator but throws 'Network request failed' the moment you switch to Android. Here is the diagnosis order I use to separate localhost, cleartext, certificate, and proxy issues, with code that actually compiles.

App Dev/2026-05-29Intermediate

Three Weeks of Syncing Release Notes Across Six Wallpaper Apps

Notes from three weeks of writing What's New entries for six wallpaper apps in the same week, with the same tone, using Rork as the source of truth.

Dev Tools/2026-05-29Advanced

Rork × EAS Update Runtime Version Strategy — Upgrading Expo SDK Across 6 Apps Without Breaking Existing Users

A complete record of how I migrated 6 Rork-generated apps from Expo SDK 50 to 51 in three weeks without a single user-visible incident — runtimeVersion policies, full eas.json, a safety-gated publish script, and a 30-minute incident recovery playbook.

App Dev/2026-05-28Intermediate

Adding Slideshow and Page Jump to My Android Wallpaper Apps

Implementation notes from adding slideshow, a page-jump slider, and an ad-free option to the Android editions of Beautiful 4K/HDR Wallpapers and Ukiyo-e Wallpapers.

Dev Tools/2026-05-28Intermediate

Syncing 'Favorite Wallpapers' Across Devices with NSUbiquitousKeyValueStore in Rork iOS Apps — Implementation Notes from Six Apps Run in Parallel

For Rork-generated iOS apps, syncing a small set of favorites across devices is often better served by NSUbiquitousKeyValueStore than CloudKit. From the perspective of running six wallpaper apps in parallel, this article shares the threshold design, conflict resolution, and first-launch restore order learned in production.

Dev Tools/2026-05-28Intermediate

Tracking Down BGTaskScheduler.submit Error Code=1 (Unavailable) in Rork iOS Apps

When BGTaskScheduler.submit returns Error Code=1, the cause space is finite — six of them. Includes the identifier trap specific to Expo-based Rork apps and a getPendingTaskRequests self-check, ordered the way I actually hit them.

Dev Tools/2026-05-28Intermediate

Three Weeks of Moving Six Wallpaper Apps from AsyncStorage to MMKV in Rork

Notes from three weeks of gradually moving six wallpaper apps from AsyncStorage to react-native-mmkv. Personal write-up from an indie developer who has been shipping iOS and Android apps since 2014.

Dev Tools/2026-05-28Advanced

Tuning Interstitial Ad Fatigue Across Six Rork iOS Wallpaper Apps with Crashlytics and Remote Config

An implementation note from running six Rork-built iOS wallpaper apps in parallel and rebalancing interstitial fatigue with a three-layer frequency cap powered by Crashlytics non-fatal signals and Remote Config thresholds. Swift code, Cloudflare Workers config, and measured eCPM / D1 retention numbers from a four-week phased rollout.

Dev Tools/2026-05-27Advanced

Three-Layer StoreKit 2 Entitlement Sync for Rork Apps: Launch, Background Refresh, and Restore

When you wire StoreKit 2 subscriptions into a Rork-generated app, Transaction.updates alone leaves gaps. Here is the three-layer sync I run across six wallpaper apps — launch-time re-evaluation, Background App Refresh, and Restore Purchase — including measured refresh rates and the AdMob revenue I recovered.