RORK LABJP
PLAY — Google Play's target API level deadline passed on August 31. Whether the project your builder generates has kept pace is worth verifying yourself rather than assumingPOLICY — Play has sharpened its definition of a low-value app: rehashes of existing apps, or thin wrappers around a third-party model with no useful function of their ownDATA — User Data requirements apply to third-party AI integrations too. Disclosing what gets sent to an external model is the responsibility of whoever publishes the appAPPLE — Enforcement of Guideline 2.5.2 has tightened around apps that execute arbitrary code at runtime, putting the line between a tool and an app under closer scrutinyBUILD — Compiling a signed native binary server-side through a reproducible pipeline sits outside 2.5.2, and the technical distinction is worth stating preciselyIOS — iOS 27 reaches general release in September, supporting iPhone 11 and later. Building the device check into an annual routine takes the surprise out of itPLAY — Google Play's target API level deadline passed on August 31. Whether the project your builder generates has kept pace is worth verifying yourself rather than assumingPOLICY — Play has sharpened its definition of a low-value app: rehashes of existing apps, or thin wrappers around a third-party model with no useful function of their ownDATA — User Data requirements apply to third-party AI integrations too. Disclosing what gets sent to an external model is the responsibility of whoever publishes the appAPPLE — Enforcement of Guideline 2.5.2 has tightened around apps that execute arbitrary code at runtime, putting the line between a tool and an app under closer scrutinyBUILD — Compiling a signed native binary server-side through a reproducible pipeline sits outside 2.5.2, and the technical distinction is worth stating preciselyIOS — iOS 27 reaches general release in September, supporting iPhone 11 and later. Building the device check into an annual routine takes the surprise out of it
TAG

Expo

209 articles
Back to all tags
Related:
Rork147React Native89iOS20Troubleshooting14indie developer12Android10Google Play10troubleshooting10Indie Development9App Store9Rork Max9EAS Build8
Rork Dev/2026-09-03Beginner

When a link opens the browser instead of your app, look at the signing key before assetlinks.json

Android App Links fail silently when the certificate fingerprint does not match. Here is the real keytool output, the upload key versus app signing key trap, and a small checker you can run before you deploy.

Business/2026-09-03Intermediate

My Second App From the Same Codebase Ships With a Distinct-Value Manifest

Google Play has drawn a clearer line around low-value apps. Here is how I decide where the distinct value of a sibling app lives, and the small script I run before every submission to check that the two apps have actually diverged.

App Dev/2026-09-02Intermediate

Leave image out of eas.json and an SDK bump moves your Xcode and pnpm too

If eas.json has no image field, your builds run on the auto alias. Move one SDK alias and Xcode, Node.js, pnpm and fastlane all change together. Here is how to read the image name out of your last green build and decide whether to pin it before Xcode 27 lands.

Rork Dev/2026-09-02Intermediate

I counted how many versions expo install starts recommending after one patch bump

What expo install recommends is tied to the patch version of expo itself. I measured the ledger diff against the npm registry, how far npm install drifts, and the one check worth adding to a generated project.

Rork Basics/2026-09-01Beginner

Starting with the EAS Observe free tier, and why Crashlytics stays installed

EAS Observe reached general availability on August 20. I looked into consolidating down to one monitoring service and found that native crashes are still out of scope. Here are the free-tier limits and the setup details that trip people up.

Rork Dev/2026-09-01Intermediate

Adding image paste with expo-paste-input, and moving the disappearing file:// URIs out of cache

How to let users paste images and GIFs into a chat input with expo-paste-input. The URIs that onPaste hands you are temporary files that can vanish before the user hits send. Here is the relocation code and the order I verify it on real devices.

Rork Dev/2026-08-31Intermediate

Three Minutes After the Screen Locked, My expo-audio Ambient Sound Went Silent

Why expo-audio stops playing when the screen locks, diagnosed as three separate layers: build config, audio session, and lock screen integration. The three-minute stop on Android is documented behavior.

Business/2026-08-31Advanced

After the Google Play deadline: which dormant Android apps to raise, and which to leave at 35

Apps you have stopped updating are governed by a different bar than apps you still ship. Here is how to inventory effective targetSdk across your builds and decide which apps to raise, hold, or retire.

App Dev/2026-08-30Advanced

After Bumping targetSdk to 36, Which Part of Your Dependencies Should You Actually Read

I opened six real dependency AARs and counted what they contribute to my manifest. Not one declares targetSdkVersion, and twelve permissions arrive that I never wrote. Here is what to check before you submit.

Rork Basics/2026-08-29Beginner

Nine Expo patches shipped in thirty days. Which one is your app actually running?

A tilde in package.json does not mean you are on the newest patch. The file that decides what actually gets installed is package-lock.json. Here is what npm did when I ran the checks myself.

Rork Dev/2026-08-29Advanced

The Remote Config keys you add after your release path closes are invisible to the build already on devices

A record of recounting what I can still change remotely before my release path closes. A key you add in the console does nothing unless a build that reads it is already on devices. Which switches to ship in the last build, and a shared-defaults bug I measured.

Rork Basics/2026-08-28Beginner

Sunset.png and sunset.png: one file on your Mac, two on the build server

An image that renders locally but breaks the cloud build. The cause was filename casing. Here is the reproduction, the git behavior behind it, and a small checker with measured results.