Shipping an Expo app to the App Store: the landmines nobody warns you about
I recently shipped Add to Calendar: AI Events — an iOS app that turns screenshots and text into calendar events — built with Expo SDK 52 and React Nat…
Latest Testing & QA news from Tech News
I recently shipped Add to Calendar: AI Events — an iOS app that turns screenshots and text into calendar events — built with Expo SDK 52 and React Nat…
Most AI coding assistants are demoed on a desk: laptop plugged in, stable Wi-Fi, full attention. But the moment I approve or monitor a long-running AI…
Last week I was testing an AI chat feature on my iPhone 14 (iOS 17.5, React Native 0.74, Hermes). The flow looked fine on Wi-Fi. Then I walked into an…
The problem Neither the iOS Simulator nor the Android Emulator has real camera hardware. If you're building anything that touches AVCaptureSession — a…
Every recorded mobile test I have ever inherited died the same way: someone moved a button. The recording said "tap at (340, 712)". The redesign moved…
“Supported on iOS, Android, desktop, and web” sounds useful until you need one method on one target. Does WebSocket work on watchOS? Which Linux archi…
Originally published on hexisteme notes . I shipped seven versions of my apps in thirty days by scripting the App Store Connect API end to end — build…
Start with one device and one transition: permission is available, the app enters the background, the person changes access, and the app returns to th…
This is a submission for DEV's Summer Bug Smash: Smash Stories powered by Sentry . I spent three hours debugging a SwiftUI crash that felt completely …
This week's release post was about making the VM fast. Today's post is about pointing that VM at the real world. PR #5335 adds two new core packages: …
Part 4 — Tags, ratings, and richer rows Level: Intermediate · Time: ~20 minutes · Builds on: Part 3 — Custom themes, multi-window, and polish · Series…
If you've ever localized an iOS or macOS app, you know the drill: you've got a .plist file full of UI strings sitting in Base.lproj , and now you need…
No, we didn't cheat in the benchmark. At least I hope we didn't. Every optimization in this story was gated on bit identical output checksums against …
Part 2 — Search, palette, and settings Level: Intermediate · Time: ~35 minutes · Builds on: Part 1 — Contacts app Part 1 got you shipping. This one ge…
A mobile client may store agent prompts, repository paths, diffs, command output, and downloaded artifacts. Protecting the live app sandbox is not eno…
A patient opens their prescription and sees 500mg instead of 50mg. A lab report displays "Normal" when the value is critically high. A teleconsult dis…
Versioned builds are back. What is Codename One? Codename One is an open-source framework for building native iOS, Android, desktop, and web apps from…
Rendering a big image on iOS is one of those things that looks trivial until your app gets killed by the OS mid-export. CGContext , draw, makeImage() …
For a long time, mobile meant a touch screen and a few platform-specific escape hatches. That is no longer enough. A Codename One app can run on phone…
Yes, I Still Open Safari First I build and test new frontend work in Safari first. On purpose. Repeatedly. Sober. I know that sounds backwards. Everyo…
Publishing ten apps in four months sounds good. And it is good. It means the bottleneck is no longer building the app. With AI-assisted coding, small …
Last week's release post was about funding open source without the bait and switch. This week's release tests that idea again, because two of the new …
TL;DR: In June 2026, I encountered a real-world scenario where an iPhone 13 (iOS 18.6), fraudulently locked via a phishing attack, could be fully unlo…
The help button is the most important button in your delivery app that your QA team almost never clicks during regression. Every delivery app has an i…
This is the Tuesday follow-up to Friday's funding open source without the bait and switch , and it picks up right where last week's Apple Watch port l…
Detecting a screenshot on iOS starts with a single UIKit notification. That is the last easy part. UIApplication.userDidTakeScreenshotNotification tel…
"I'll just write a quick button style... and a text field with validation... and a card component..." Two weeks later you have a bespoke design system…
Part 2 of 2. This tutorial builds on Part 1 — DesignFoundation core . If you haven't added the base package and theme yet, start there. The core packa…
On Friday I wrote about funding open source without the bait and switch , and the analytics API in PR #5266 is the clearest example of the model in th…
Friday's post covered how we fund this work without the bait-and-switch; today is the engineering side of the same week, with two new visual editors. …