A Kotlin crash on iOS arrives without a usable stack trace
The dSYM for the shared framework is produced by Gradle and uploaded by nobody.
We use Google Analytics to see which pages help people. No ads, no profiles. Privacy Policy
103 posts
The dSYM for the shared framework is produced by Gradle and uploaded by nobody.
IME composition, autocorrect and hardware keyboards reach Compose differently per platform, so state hoisted too far loses keystrokes on exactly one of them.
A hardware button, an edge swipe, a window close and a browser history entry are not the same event. One shared handler gets at least two of them wrong.
Android cancels viewModelScope for you and SwiftUI does not. One scope, two lifetimes, and only one of them has a callback that fires when the screen ends.
Application.onCreate, a Swift app init, a main function and a page load each start the graph. Two inits on one platform is a duplicate-definition crash at the worst moment.
OkHttp and NSURLSession cache to disk, the browser's cache is the browser's, and the common engine has none. Measured hit rates differ by a factor nobody budgeted for.
The hierarchy template inserts nodes based on declared targets. A directory for a node that does not exist compiles nowhere and warns about nothing.
Main is supplied by a platform integration, so it exists on Android and iOS and fails at runtime on desktop tests — a crash whose message names a module, not a mistake.
Measured per target rather than per line: the iOS app reached a third of the shared surface because the API was shaped around Android's lifecycle.
Nested transactions, savepoints and write locking vary per driver. Code written against one driver's guarantees loses them silently on another.
A monotonic integer, a build string, a semantic version and a cache-busting hash have to agree. Deriving all four from one source is the only shape that survives a hotfix.
A dropped socket is a normal event with no exception on some engines. Reconnection with jitter and a resume token is application code, and it is the same code on all four.