Throwing across the bridge loses your exception type
Swift sees NSError with a wrapped message, so a typed catch becomes a string match.
We use Google Analytics to see which pages help people. No ads, no profiles. Privacy Policy
7 posts
Swift sees NSError with a wrapped message, so a typed catch becomes a string match.
Every public declaration in the shared module becomes Swift API. internal is the design tool.
Obj-C has no namespaces. Everything exported is prefixed and flattened, and each Kotlin idiom loses something specific.
Kotlin objects held by Swift are ARC-counted. A loop through both runtimes is invisible to both profilers.
Swift cancels its Task. The Kotlin Job never hears about it, so the work keeps running.
Removing a stale tmp keychain cleared the default and broke iOS signing machine-wide, while the provisioning repo I spent a day suspecting was never at fault.
Certificates, profiles and keychain state get asserted by one flow or by nobody — and a second writer stays invisible until the next build needs to sign.